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_name
Rename constraint old_name to new_name
删除主键约束
如果这个约束暂时不想用,今后还想用,可以用禁用约束的方式
ALTER TABLE table_name
Disable(禁用) 或者enable(启用) constraint constraint_name
如果这个约束已经不想用,可以用drop方式
ALTER TABLE table_name
Drop constraint constraint_name
ALTER TABLE table_name
Drop primary key[cascade]有外键时用[cascade]
4、外键约束:
5、唯一约束:
6、检查约束: