Oracle SQL 数据库表创建与数据插入示例
以下示例展示了如何使用 Oracle SQL 语句创建 SALGRADE、EMP 和 DEPT 表,并向这些表中插入数据。
CREATE TABLE SALGRADE(
GRADE NUMBER(20),
LOSAL NUMBER(8,2),
HISAL NUMBER(8,2),
PRIMARY KEY (GRADE)
);
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);
CREATE TABLE EMP(
EMPNO NUMBER(20) NOT NULL PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(20)
);
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-02-20', 'YYYY-MM-DD'), 1600, 300, 30);
INSERT INTO EMP VALUES (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('1981-02-22', 'YYYY-MM-DD'), 1250, 500, 30);
INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('1981-04-02', 'YYYY-MM-DD'), 2975, NULL, 20);
INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('1981-09-28', 'YYYY-MM-DD'), 1250, 1400, 30);
INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1981-05-01', 'YYYY-MM-DD'), 2850, NULL, 30);
INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('1981-06-09', 'YYYY-MM-DD'), 2450, NULL, 10);
INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('1982-12-09', '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-09-08', 'YYYY-MM-DD'), 1500, 0, 30);
INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('1983-01-12', 'YYYY-MM-DD'), 1100, NULL, 20);
INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 950, NULL, 30);
INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782, TO_DATE('1982-01-23', 'YYYY-MM-DD'), 1300, NULL, 10);
-- 创建DEPT部门表
CREATE TABLE DEPT(
DEPTNO NUMBER(20) NOT NULL PRIMARY KEY,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);
-- 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');
CREATE TABLE SALGRADE_BAK AS SELECT * FROM SALGRADE;
CREATE TABLE EMP_BAK AS SELECT * FROM EMP;
CREATE TABLE DEPT_BAK AS SELECT * FROM DEPT;
代码说明:
- 创建
SALGRADE表,用于存储工资等级信息。GRADE:工资等级,使用NUMBER(20)类型,作为主键。LOSAL:最低工资,使用NUMBER(8,2)类型,表示最多 8 位数字,其中小数点后保留 2 位。HISAL:最高工资,使用NUMBER(8,2)类型。
- 创建
EMP表,用于存储员工信息。EMPNO:员工编号,使用NUMBER(20)类型,作为主键,并设置为NOT NULL。ENAME:员工姓名,使用VARCHAR2(10)类型,最多存储 10 个字符。JOB:工作职位,使用VARCHAR2(9)类型。MGR:主管编号,使用NUMBER(4)类型。HIREDATE:雇用日期,使用DATE类型。SAL:工资,使用NUMBER(7,2)类型。COMM:佣金,使用NUMBER(7,2)类型。DEPTNO:部门编号,使用NUMBER(20)类型。
- 创建
DEPT表,用于存储部门信息。DEPTNO:部门编号,使用NUMBER(20)类型,作为主键,并设置为NOT NULL。DNAME:部门名称,使用VARCHAR2(14)类型。LOC:部门位置,使用VARCHAR2(13)类型。
- 使用
INSERT语句向每个表中插入数据。 - 使用
CREATE TABLE ... AS SELECT * FROM ...语句创建备份表。
该 SQL 语句没有错误。
原文地址: https://www.cveoy.top/t/topic/nxmI 著作权归作者所有。请勿转载和采集!