约束

是什么:

定义

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

分类

非空约束:not null 某一列的值不能为null。

唯一约束:unique 某一列的值不能重复。

主键约束:primary key

外键约束:foreign key

怎么做:

非空约束

创建:

create table 表名(

name varchar(20 ) not null

);

添加:

alter table 表名 modify 列名 name varchar(20 );

修改:

alter table 表名 modify 列名 name varchar(20 )not null;

唯一约束

添加:

create table 表名(

列名 varchar(20) unique

);

删除:

alter table 表名 drop index 列名;

修改:

alter table 表名 modify 列名 varchar(20) unique;

PS:可以有null值,但是只能有一个。

主键约束

添加:

create table 表名(

列名 数据类型 primary key

);

删除:

alter table 表名 drop primary key;

修改:

alter table 表名 modify 列名 数据类型 primary key;

自动增长:

添加:

create table 表名(

列名 数据类型 primary key auto_increment

);

删除:

alter table 表名 modify 列名1 数据类型1;

修改:

alter table 表名 modify 列名1 数据类型1 auto_increment;

PS:

非空且唯一

一张表只能有一个字段为主键

外键约束

添加:

create table 表名(

…….,

这一行是外键列,

constraint 外键名称 foreign key 外键列名称 references 主表列名称

);

删除:

alter table 表名 drop foreign key 外键名;

修改:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称);

级联操作:

添加:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on update cascade;

删除:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on delete cascade;

为什么:

目的

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

是什么:

定义

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

分类

非空约束:not null 某一列的值不能为null。

唯一约束:unique 某一列的值不能重复。

主键约束:primary key

外键约束:foreign key

怎么做:

非空约束

创建:

create table 表名(

name varchar(20 ) not null

);

添加:

alter table 表名 modify 列名 name varchar(20 );

修改:

alter table 表名 modify 列名 name varchar(20 )not null;

唯一约束

添加:

create table 表名(

列名 varchar(20) unique

);

删除:

alter table 表名 drop index 列名;

修改:

alter table 表名 modify 列名 varchar(20) unique;

PS:可以有null值,但是只能有一个。

主键约束

添加:

create table 表名(

列名 数据类型 primary key

);

删除:

alter table 表名 drop primary key;

修改:

alter table 表名 modify 列名 数据类型 primary key;

自动增长:

添加:

create table 表名(

列名 数据类型 primary key auto_increment

);

删除:

alter table 表名 modify 列名1 数据类型1;

修改:

alter table 表名 modify 列名1 数据类型1 auto_increment;

PS:

非空且唯一

一张表只能有一个字段为主键

外键约束

添加:

create table 表名(

…….,

这一行是外键列,

constraint 外键名称 foreign key 外键列名称 references 主表列名称

);

删除:

alter table 表名 drop foreign key 外键名;

修改:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称);

级联操作:

添加:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on update cascade;

删除:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on delete cascade;

为什么:

目的

对表中的数据进行限制,保证数据的正确性、有效性和完整性。约束

是什么:

定义

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

分类

非空约束:not null 某一列的值不能为null。

唯一约束:unique 某一列的值不能重复。

主键约束:primary key

外键约束:foreign key

怎么做:

非空约束

创建:

create table 表名(

name varchar(20 ) not null

);

添加:

alter table 表名 modify 列名 name varchar(20 );

修改:

alter table 表名 modify 列名 name varchar(20 )not null;

唯一约束

添加:

create table 表名(

列名 varchar(20) unique

);

删除:

alter table 表名 drop index 列名;

修改:

alter table 表名 modify 列名 varchar(20) unique;

PS:可以有null值,但是只能有一个。

主键约束

添加:

create table 表名(

列名 数据类型 primary key

);

删除:

alter table 表名 drop primary key;

修改:

alter table 表名 modify 列名 数据类型 primary key;

自动增长:

添加:

create table 表名(

列名 数据类型 primary key auto_increment

);

删除:

alter table 表名 modify 列名1 数据类型1;

修改:

alter table 表名 modify 列名1 数据类型1 auto_increment;

PS:

非空且唯一

一张表只能有一个字段为主键

外键约束

添加:

create table 表名(

…….,

这一行是外键列,

constraint 外键名称 foreign key 外键列名称 references 主表列名称

);

删除:

alter table 表名 drop foreign key 外键名;

修改:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称);

级联操作:

添加:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on update cascade;

删除:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on delete cascade;

为什么:

目的

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

是什么:

定义

对表中的数据进行限制,保证数据的正确性、有效性和完整性。

分类

非空约束:not null 某一列的值不能为null。

唯一约束:unique 某一列的值不能重复。

主键约束:primary key

外键约束:foreign key

怎么做:

非空约束

创建:

create table 表名(

name varchar(20 ) not null

);

添加:

alter table 表名 modify 列名 name varchar(20 );

修改:

alter table 表名 modify 列名 name varchar(20 )not null;

唯一约束

添加:

create table 表名(

列名 varchar(20) unique

);

删除:

alter table 表名 drop index 列名;

修改:

alter table 表名 modify 列名 varchar(20) unique;

PS:可以有null值,但是只能有一个。

主键约束

添加:

create table 表名(

列名 数据类型 primary key

);

删除:

alter table 表名 drop primary key;

修改:

alter table 表名 modify 列名 数据类型 primary key;

自动增长:

添加:

create table 表名(

列名 数据类型 primary key auto_increment

);

删除:

alter table 表名 modify 列名1 数据类型1;

修改:

alter table 表名 modify 列名1 数据类型1 auto_increment;

PS:

非空且唯一

一张表只能有一个字段为主键

外键约束

添加:

create table 表名(

…….,

这一行是外键列,

constraint 外键名称 foreign key 外键列名称 references 主表列名称

);

删除:

alter table 表名 drop foreign key 外键名;

修改:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称);

级联操作:

添加:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on update cascade;

删除:

alter table 表名 add constraint 外键名称 foreign key (外键列名称) references

主表名称(主表列名称) on delete cascade;

为什么:

目的

对表中的数据进行限制,保证数据的正确性、有效性和完整性。