表级约束:可以约束表中任意一个或多个字段。主键是多列的只能用表级。
create table student2 (
stu_id int(10),
stu_name varchar(3),
stu_sex varchar (1),
constraint pk_stu_id primary
key(stu_id)
);
列级约束:只能约束其所在的某一个字段。主键是单一列可使用列级,也可使用表级。
#列级约束
create table student1 (
stu_id int(10) primary key,
stu_name varchar(3),
stu_sex varchar (1)
);
主键约束:作用是约束表中的某个字段可以唯一标识一条记录。不能为空、不能重复。
表级约束:
create table 表名(
字段名1 字段类型,
字段名2 字段类型,
......,
[constraint pk_name] primary key(要设置为主键的字段名)
);
#constraint:设置主键约束标识符所用到的关键字。
#pk_name:主键标识符。
#为了方便删除和修改完整性约束,可以对完整性约束进行命名。
为多个字段添加主键约束
create table grade(
stu_id int(10),
course_id int(4),
score smallint(2),
primary key(stu_id, course_id)
);
在已存在的表中添加主键约束
alter table 表名 add [constraint 主键标识符] primary key(字段名1, 字段名2, ···);
删除主键约束
alter table 表名 drop primary key;
#备注:因为一个表中的主键只能有一个,故不需要指定被设为主键的字段名。
唯一约束
它规定了一张表中指定的某个字段的值不能重复
create table 表名(
字段名 字段类型 unique,
......
);
在已有的表中添加唯一约束
alter table 表名 add [constraint 唯一约束名] unique(字段名1, 字段名2, ···);
删除唯一约束
alter table 表名 drop index 字段名;
非空约束:nut null(使用方法和unque一样)
删除方法
alter table 表名 modify字段名 字段类型 [null];
默认值约束:可在建表时直接加在字段后为default" "
alter table student11 modify name varchar(3) default '学生';
删除默认值约束
alter table 表名 modify 字段名 字段类型;
自增约束
create table 表名(
字段名 字段类型 auto_increment,
......
);
在已存在的表中添加自增约束
alter table 表名 modify 字段名 字段类型 auto_increment;
删除自增约束
alter table table_name modify column_name date_type;