SQL表的约束
2、表的约束:约束不能修改,只能删除重建
按照约束用途分类:
1.PRIMARY KEY:主键约束:额外约定(必须遵守):一张表只有一个主键,也可以没有主键
2.FOREIGN KEY:外键约束
3.CHECK:检查约束
4.UNIQUE:唯一约束
5.NOT NULL:非空约束
--语法格式:ALTER TABLE命令
ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。
--语法格式:添加主键约束
ALTER TABLE 表名 ADD CONSTRAINT PK_约束名 PRIMARY KEY(列名1[,列名2...]) ;--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
--语法格式:添加外键约束
ALTER TABLE 主表名 ADD CONSTRAINT FK_约束名 FOREIGN KEY(列名1[,列名2...]) REFERENCES 从表名(列名1[,列名2...]); --"FK"为外键的缩写
--语法格式:添加CHECK约束
ALTER TABLE 表名 ADD CONSTRAINT CK_约束名 CHECK(条件); --条件表达式中的条件⽤关系运算符连接
--语法格式:添加唯一约束
ALTER TABLE 表名 ADD CONSTRAINT UQ_约束名 UNIQUE(列名);
--语法格式:添加非空约束
ALTER TABLE 表名 MODIFY 列名 NOT NULL;
--语法格式:默认约束(自增约束)可以用在日志表的自增
CREATE SEQUENCE S_序列名;
--语法格式:删除约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名;
约束也可以在创建表的时候添加
CREATE TABLE student_1( sno VARCHAR2(10) PRIMARY KEY, --加主键约束 sname VARCHAR2(30) NOT NULL, --加⾮空约束,不加"not null" 默认为:可以为空 ssex VARCHAR2(2) CHECK(ssex='男' OR ssex='女'), --加检查约束 sage NUMBER(3), sbirthday DATE );