E1 基于Mysql的SQL应用
一、实验目的:
要求学生熟练掌握Mysql平台下SQL指令的应用,完成对基本表、视图创建、删除、数据插入、查询、更新和删除等数据管理工作。
二、实验要求:
1、基本硬件配置:英特尔Pentium III 以上,大于4G内存;
2、软件要求:Mysql;
3、时间:4小时;
4、撰写实验报告并按时提交。
三、实验内容:
emp表
CREATE TABLE `emp` (
`ename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`job` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`deptno` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`sal` double NOT NULL,
`comm` double NOT NULL,
`hiredate` date NOT NULL,
`empno` int(11) NOT NULL,
`mgr` int(11) NOT NULL,
PRIMARY KEY (`empno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
dept表
CREATE TABLE `dept` (
`deptno` int(11) NOT NULL,
`dname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`loc` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
Group 1: 用命令“Select”查询相关数据:
1、 检索所有的职工姓名与年薪
select ename,12 * sal from emp;
2、 检索所有职工的工作和相应的部门编号
select distinct job,deptno from emp;
3、 检索工作是salesman的员工姓名;
select ename from emp where job ='salesman';
4、 检索员工津贴comm为null或comm小于300的员工姓名和津贴值;
select ename, comm from emp where comm is null or comm < 300;
5、 检索所有职员的姓名和所在部门名称;
select emp.ename,dept.dname from emp,dept where emp.deptno=dept.deptno;
6、 检索所有员工及其相关领导的姓名。
select e.ename as emp, m.ename as manager from emp e, emp m where m.empno = e.mgr;
7、 查询聘用日期早于他们的领导的雇员姓名。<