建立范例表
为了方便执行操作,我们需要建立一个范例表进行操作,如我们建立一张员工表,表中包含员工的编号,姓名,职务,入职时间,当月收入(美金),当月奖金,系属部门等。
代码如下:
-- 删除数据表
DROP TABLE IF EXISTS emp ;
DROP TABLE IF EXISTS dept;
DROP TABLE IF EXISTS salgrade;
-- 创建数据表
-- 员工表
CREATE TABLE dept (
deptno INT PRIMARY KEY, -- 部门编号
dname VARCHAR(14) , -- 部门名称
loc VARCHAR(13) -- 部门地址
) ;
-- 员工表
CREATE TABLE emp (
empno INT PRIMARY KEY, -- 员工编号
ename VARCHAR(10), -- 员工姓名
job VARCHAR(9), -- 员工职务
mgr INT, -- 经理的员工编号
hiredate DATE, -- 入职日期
sal DOUBLE, -- 员工收入
comm DOUBLE, -- 奖金
deptno INT -- 部门表外键,代表当前员工属于哪个部门
);
alter table emp add foreign key (deptno) references dept (deptno);
-- 工资等级
CREATE TABLE salgrade (
grade INT, -- 工资等级
losal DOUBLE, -- 当前等级最低收入
hisal DOUBLE -- 当前等级最高收入
);
-- 插入测试数据 —— dept
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
-- 插入测试数据 —— emp
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,str_to_date('17-12-1980','%d-%m-%Y'),800,NULL,20);
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,str_to_date('20-2-1981','%d-%m-%Y'),1600,300,30);
INSERT INTO emp VALU