Oracle五个重要的约束:非空约束、主键约束、外键约束、检查约束、唯一约束
约束的作用:定义规则、确保完整性truncate只能删除整张表的数据,不能只删除某一行的数据;
delete既可以删除某一行的数据,也可以删除整张表的数据。两者都只是针对数据进行操作,不能删除表的结构。drop会删除表的结构。--------------------------约束:1、约束的作用: 定义规则 、 确保完整性(精确性和可靠性) 2、非空约束: 在创建表时设置非空约束: create table table_name( column_name datatype not null,.....); create table userinfo_1( id number(6,0), username varchar2(20) not null, userpwd varchar2(20) not null); 在修改表时添加非空约束: ALTER TABLE table_name MODIFY column_name datatype(数据类型) NOT NULL;设置非空约束表中最好是没有任何数据的。 alter table userinfo modify username varchar2(20) not null; 在修改表时去除非空约束: alter table table_name modify column_name datatype NULL;3、主键约束:作用:确保表当中的每一行数据的唯一性,要求字段非空、唯一;一张表只能设计一个主键约束,主键约束可以由多个字段构成(联合主键或符合主键)在创建表时设置主键约束:1.create table table_name(column_name datatype primary key,..)2.constraint constraint_name primary key(column_name1,...)创建新表,将id,username作为联合主键查找约束名字Desc user_constraints查看数据字典的结构Select constraint_name from username_constraints where table_name=’USERINFO_P1’;Select constraint_name from username_constraints where table_name=’USERINFO_P’更改约束的名称
ALTER TABLE table_nameRename constraint old_name to new_name删除主键约束如果这个约束暂时不想用,今后还想用,可以用禁用约束的方式ALTER TABLE table_nameDisable(禁用) 或者enable(启用) constraint constraint_name如果这个约束已经不想用,可以用drop方式ALTER TABLE table_nameDrop constraint constraint_nameALTER TABLE table_nameDrop primary key[cascade]有外键时用[cascade]4、外键约束:5、唯一约束:6、检查约束: