--创建 scott 数据库中的 dept 表 CREATE TABLE dept( -- 部门编号 DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, -- 部门名称 DNAME VARCHAR2(14), -- 部门所在位置 LOC VARCHAR2(13) ); --创建 scott 数据库中的 emp 表 CREATE TABLE emp( -- 雇员编号 EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY, -- 雇员姓名 ENAME VARCHAR2(10), -- 雇员职位 JOB VARCHAR2(9), -- 雇员对应的领导的编号 MGR NUMBER(4), -- 雇员的雇佣日期 HIREDATE DATE, -- 雇员的基本工资 SAL NUMBER(7,2), -- 奖金 COMM NUMBER(7,2), -- 所在部门 DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT ); --创建数据库 scott 中的 salgrade 表,工资等级表 CREATE TABLE salgrade( -- 工资等级 GRADE NUMBER, -- 此等级的最低工资 LOSAL NUMBER, -- 此等级的最高工资 HISAL NUMBER ); --创建数据库 scott 的 bonus 表,工资表 CREATE TABLE bonus( -- 雇员姓名 ENAME VARCHAR2(10), -- 雇员职位 JOB VARCHAR2(9), -- 雇员工资 SAL NUMBER, -- 雇员奖金 COMM NUMBER ); --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'); --salgrade表中的数据 INSERT INTO salgrade VALUES (1,700,1200); INSERT INTO salgrade VALUES (2,1201,1400); INSERT INTO salgrade VALUES (3,1401,2000); INSERT INTO salgrade VALUES (4,2001,3000); INSERT INTO salgrade VALUES (5,3001,9999); --emp表中的数据 INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,to_date('1980-12-17','yyyy-mm-dd'),800,NULL,20); INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,to_date('1981-2-20','yyyy-mm-dd'),1600,300,30); INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,to_date('1981-2-22','yyyy-mm-dd'),1250,500,30); INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,to_date('1981-4-2','yyyy-mm-dd'),2975,NULL,20); INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,to_date('1981-9-28','yyyy-mm-dd'),1250,1400,30); INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,to_date('1981-5-1','yyyy-mm-dd'),2850,NULL,30); INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,to_date('1981-6-9','yyyy-mm-dd'),2450,NULL,10); INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,to_date('87-7-13','yyyy-mm-dd'),3000,NULL,20); INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,to_date('1981-11-17','yyyy-mm-dd'),5000,NULL,10); INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,to_date('1981-9-8','yyyy-mm-dd'),1500,0,30); INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,to_date('87-7-13','yyyy-mm-dd'),1100,NULL,20); INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,to_date('1981-12-3','yyyy-mm-dd'),950,NULL,30); INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,to_date('1981-12-3','yyyy-mm-dd'),3000,NULL,20); INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,to_date('1982-1-23','yyyy-mm-dd'),1300,NULL,10);
雇员表:记录了一个雇员的基本信息
EMP(雇员表)
NO 字段 类型 描述
1 EMPNO NUMBER(4) 雇员编号
2 ENAME VARCHAR2(10) 表示雇员姓名
3 JOB VARCHAR2(9) 表示工作职位
4 MGR NUMBER(4) 表示一个雇员的领导编号
5 HIREDATE DATE 表示雇佣日期
6 SAL NUMBER(7,2) 表示月薪,工资
7 COMM NUMBER(7,2) 表示奖金或佣金
8 DEPTNO NUMBER(2) 表示部门编号
部门表:表示一个部门的具体信息
DEPT(部门表)
NO 字段 类型 描述
1 DEPTNO NUMBER(2) 部门编号
2 DNAME VARCHAR2(14) 部门名称
3 LOC VARCHAR2(13) 部门位置
奖金表:表示一个雇员的工资及奖金
BONUS(奖金表)
NO 字段 类型 描述
1 ENAME VARCHAR2(10) 雇员姓名
2 JOB VARCHAR2(9) 雇员职位
3 SAL NUMBER 雇员工资
4 COMM NUMBER 雇员奖金
工资等级表:表示一个工资的等级
SALGRADE(工资等级表)
NO 字段 类型 描述
1 GRADE NUMBER 等级名称
2 LOSAL NUMBER 此等级的最低工资
3 HISAL NUMBER 此等级的最高工资
注:emp、dept、bonus、salgrade为scott用户下的表,system用户想要使用,表名称格式为用户名.表名称
如 select * from scott.emp;若是觉得麻烦可以用以上数据在system下建表加数据,也可以使用以下方式创建。
--复制scott下dept、emp、bonus、salgrade表的结构和数据
create table dept as select * from SCOTT.dept;
create table emp as select * from SCOTT.emp;
create table bonus as select * from SCOTT.bonus;
create table salgrade as select * from SCOTT.salgrade;alter table emp add constraint fk_emp primary key(empno);--为emp表添加主键约束
alter table dept add constraint fk_dept primary key(deptno);--为dept表添加主键约束
--为emp表的deptno列添加外键约束
alter table emp add constraint emp_deptno foreign key(deptno) references dept(deptno) on delete cascade;转载原文:
1.https://blog.csdn.net/weixin_37590454/article/details/80795670
2.https://blog.csdn.net/u011955534/article/details/14130023?utm_source=copy
【软件测试】Oracle中scott用户的emp、dept、bonus、salgrade建表代码与数据
最新推荐文章于 2021-12-26 20:55:40 发布