create table EMP
(
EMPNO NUMBER(4) PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPNO NUMBER(4)
);
CREATE TABLE Dept(
DEPTNO NUMBER(4),
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);
CREATE TABLE Salgrade
(
GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER
);
CREATE TABLE Bonus
(
ENAME VARCHAR(10),
JOB VARCHAR2(9),
SAL NUMBER,
COMM NUMBER
);
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');
SELECT * FROM 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
(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
(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);
select * from emp;
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);
select * from salgrade;
commit;
--外键约束
CREATE TABLE QQ(
GARDE NUMBER(3) PRIMARY KEY,
GNAME VARCHAR2(20)
);
CREATE TABLE FIREND(
FID NUMBER(3),
NAME VARCHAR2(20),
GRADE NUMBER(3),
FOREIGN KEY(GRADE) REFERENCES QQ(GARDE) ON DELETE CASCADE
);
创表时创建外键:
FOREIGN KEY(列名) REFERENCES 引用外键表名(列名) ON DELETE CASCADE
创表后添加外键:
alter TABLE 表名 ADD constraint 外键约束名 FOREIGN KEY(列名) REFERENCES 引用外键表(列名)
ON UPDATE RESTRICT //同步更新
ON DELETE RESTRICT // 同步删除;
.....................................................................................................
oracle实现主键id自增
-- 创建表
CREATE TABLE t_module (
module_id INT NOT NULL ,
module_code varchar(32) NOT NULL,
module_name varchar(32) NOT NULL,
isnew INT DEFAULT 0 ,
PRIMARY KEY (module_id)
)
-- 为 表 创建 序列
-- 从1 开始, 每次 加1
CREATE SEQUENCE SEQ_MODULE START WITH 1 INCREMENT BY 1;
--查询 下一个 id
select seq_module.nextval from dual