1-基本建表sql语句

基本的建表语句的总结

--建表语法
CREATE TABLE 表名(
       --约束可以没有
       列名1 数据类型 [约束],
       列名2 数据类型 [约束],
       ......,
       [约束],
       .....
);
--该sql语句是基于Oracle中内置用户SCOTT所拥有的的表的表结构建立的
--最简单的建表语句
--表EMP
CREATE TABLE EMP(
  EMPNO NUMBER(4),
  ENAME VARCHAR2(10),
  JOB VARCHAR2(9),
  MGR NUMBER(4),
  HIREDATE DATE,
  SAL NUMBER(7,2),
  COMM NUMBER(7,2),
  DEPTNO NUMBER(2)
);
DROP TABLE EMP;--删除表

--表DEPT
CREATE TABLE DEPT(
  DEPTNO NUMBER(2),
  DNAME VARCHAR2(14),
  LOC VARCHAR2(13)
);
DROP TABLE DEPT;

--表SALGRADE
CREATE TABLE SALGRADE(
 GRADE NUMBER,
 LOSAL NUMBER,
 HISAL NUMBER
);
DROP TABLE SALGRADE;


--加有约束条件的建表语句
--表DEPT
CREATE TABLE DEPT(
  DEPTNO NUMBER(2) primary key,--主键约束
  DNAME VARCHAR2(14),
  LOC VARCHAR2(13)
);
DROP TABLE DEPT;

--表EMP
CREATE TABLE EMP(
  EMPNO NUMBER(4) PRIMARY KEY,--primary key主键约束
  ENAME VARCHAR2(10),
  JOB VARCHAR2(9),
  MGR NUMBER(4),
  HIREDATE DATE,
  SAL NUMBER(7,2),
  COMM NUMBER(7,2),
  DEPTNO NUMBER(2) REFERENCES DEPT(DEPTNO)
  --外键约束:建立的时候需要注意所依附的表已存在且所依附的表的约束为primary key 或者unique
);
DROP TABLE EMP;

--建表时常用的约束建立的方法
--约束分为列级约束,表级约束
--1:primary key在上面中已使用一种方法定义,下面是另外一种
--2:foreign key在上面中已使用一种方法定义,下面是另外一种
--3:not null非空约束,只能是列级约束
--4:unique唯一约束,两种方式都可以创建
--5:check约束,两种方式都可以创建
CREATE TABLE EMPTEST(
  EMPNO NUMBER(4),
  ENAME VARCHAR2(10),-- UNIQUE,--列级约束
  SEX VARCHAR2(2),-- CHECK( SEX IN ('男', '女')),
  JOB VARCHAR2(9),
  MGR NUMBER(4),
  HIREDATE DATE NOT NULL,
  SAL NUMBER(7,2),
  COMM NUMBER(7,2),
  DEPTNO NUMBER(2),
  
  PRIMARY KEY(EMPNO),--此时为表级约束
  FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO),
  UNIQUE(ENAME),
  CHECK(SEX IN ('', ''))
);
DROP TABLE EMPTEST;

 

posted @ 2015-12-30 16:28  MIASDZ  阅读(952)  评论(0编辑  收藏  举报