【IT168 服务器学院】截取:
不能回滚;
删除表中所有数据;
释放存储空间;
语法:
TRUNCATE TABLE 表名称;
DELETE 也可以删除所有行,但:
可以回滚。
不释放存储空间。
给表加注释:COMMENT
comment on table table_name is ''注释内容'';
约束条件:
如果经常用到约束条件的话,最好自己命名。
当定义约束的时候可以将定义的语句作为CREATE TABLE 中的参数的一部分来完成。
表级别约束定义:
CONSTRAINT 约束名 约束条件(字段名)
约束在表上强制了规则。
如果有参照的花,约束防止表的删除。
ORACLE支持的约束条件:
NOT NULL 非空
特点:唯一一个只能在列级定义的约束条件。
UNIQUE 唯一
允许有空值(空值不做比较);
特点:当创建约束的时候,系统会自动创建对应其的索引。
PRIMARY KEY 主键
特点:当创建约束的时候,系统会自动创建对应其的索引。
在一个表中只允许一个主键。
FOREIGN KEY 外键
外键参照的一定是主表的主键或唯一键;
保证子表外键字段的值一定是主表中的被参照字段值的真子集;
当主表字段被参照的时候,其值不允许被直接删除。
CONSTRAINT 约束名 FOREIGN KEY (外键字段名) REFERENCES 主表名(主表字段名);
如果在字段列表中定义外键就可以不写 FOREIGN KEY 关键字。
如下格式:CONSTRAINT 约束名 REFERENCES 主表名(主表字段名);
ON DELETE CASCADE 当主表的行被删除的时候,要删除子表中参照主表的行。
ALTER TABLE TABLE_NAME DROP (PK) CASCADE CONSTRAINTS;把作为主键的字段也同时删除了。
ON DELETE SET NULL 当主表的行被删除的时候,转换子表中的参照值为空。
CHECK
定义一个每行都必须满足的条件。
CREATE TABLE table_name
(
....
salary number(10,2),
CONSTRAINT 约束名 CHECK(SALARY>0),
....
);
约束的使用:
约束的命名:给约束命名或者ORACLE服务器将使用SYS_Cn的格式为约束命名。
创建时期:
在创建表的同时或者在建表之后。
定义级别:
可以在表级定义或列级定义。
在数据字典中可以查看约束。