1. 程式人生 > >Oracle中建立scott使用者表結構及初始化資料

Oracle中建立scott使用者表結構及初始化資料

文章目錄


由於安裝的是Oracle12c資料庫,沒有scott使用者。scott使用者中 deptempsalgradebonus四張表結構使用廣泛,在Oracle12c資料庫中建立四張表及插入初始化資料,用於進行Oracle的學習。

1.部門表dept

名稱 型別 描述
1 DEPTNO NUMBER(2) 表示部門編號,由兩位數字所組成
2 DNAME VARCHAR2(14) 部門名稱,最多由14個字元所組成
3 LOC VARCHAR2(13) 部門所在的位置

建表語句:

CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
	DNAME VARCHAR2(14) ,
	LOC VARCHAR2(13) );

插入資料:

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');

2.僱員表emp

名稱 型別 描述
1 EMPNO NUMBER(4) 僱員的編號,由四位數字所組成
2 ENAME VARCHAR2(10) 僱員的姓名,由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) 僱員所在的部門編號

建表語句:

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);

插入資料:

INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);

3.工資等級表salgrade

名稱 型別 描述
1 GRADE NUMBER 工資的等級
2 LOSAL NUMBER 此等級的最低工資
3 HISAL NUMBER 此等級的最高工資

建表語句:

CREATE TABLE SALGRADE
      ( GRADE NUMBER,
	LOSAL NUMBER,
	HISAL NUMBER );

插入資料:

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);

4.工資表bonus

名稱 型別 描述
1 ENAME VARCHAR2(10) 僱員姓名
2 JOB VARCHAR2(9) 僱員職位
3 SAL NUMBER 僱員的工資
4 COMM NUMBER 僱員的獎金

建表語句:

CREATE TABLE BONUS
	(
	ENAME VARCHAR2(10)	,
	JOB VARCHAR2(9)  ,
	SAL NUMBER,
	COMM NUMBER
	);

本文參考:
https://my.oschina.net/iamhere/blog/357809