约束是为了保证数据库中表的一致性和完整性
1、主键约束
添加主键约束
ALTER TABLE table_name ADD CONSTRAINTS constraint_name PRIMARY KEY(column_name);
移除主键约束
ALTER TABLE table_name DROP CONSTRAINTS constraint_name;
2、外键约束
外键约束可保证使用外键约束的数据库列与所引用的主键约束的数据列一致,外键约束在数据表中可以有多个。
CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCE table_name(column_name) ON DELETE CASCADE;
constraint_name:外键约束名字 FOREIGN KEY(column_name):外键约束的列名 REFERENCE:引用的表名
ON DELETE CASCADE:设置级联删除,当主键的字段被删除时,外键的字段也同时被删除。
(3)移除外键约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
3、CHECK约束
CREATE TABLE custominfo
(CustomId varchar2(10),
Name varchar2(10),
Age number(2),
Gender varchar2(2),
Tel varchar2(11),
Address varchar2(100)
CONSTRAINT check_name CHECK(Age)-18 and Age(-50)
);
ALTER TABLE table_name ADD CONSTRAINT check_name CHECK(Gender='男' or Gender='女');
4、UNIQUE约束
CREATE TABLE orderinfo
(
OrderId varchar2(10),
CustomId varchar2(10),
ProductId varchar2(10),
OrderDate varchar2(10)
OrderQuantity number(10),
SendDate varchar2(10),
CONSTRAINT constraint_name UNIQUE(OrderId)
);
ALTER TABLE orderInfo ADD CONSTRAINT constraint_name UNIQUE(CustomId) ;
5、NOT NULL约束
非空约束,经常在创建表时添加非空约束来确定输入的值不为空。
CREATE TABLE managerinfo(
ManagerId varchar2(10),
LoginName varchar2(10) NOT NULL,
Password varchar2(10)NOT NULL,
Name varchar2(10),
Tel varchar2(11)
);