当前位置:   article > 正文

MySQL数据库----约束_mysql自我约束的关键字是哪个

mysql自我约束的关键字是哪个

1. 主键约束

  • 主键约束关键字:primary key
  • 主键用于唯一的标识一条记录,要求每一条记录的主键值都不相同,且是非空值
  • primary key会自带not null 和 unique
  • 设置主键约束后会自动带上索引,通过主键查询记录能提高效率
  • 一个表中只能设置一个主键,但主键可以仅包含一个字段,也可以包含多个字段
#primary key用例
create table world.city(id int primary key);
create table world.city(id int, primary key(id));
create table world.city(id int, name char(35), primary key(id, name));
  • 1
  • 2
  • 3
  • 4

2. 外键约束

  • 外键约束关键字:foreign key
  • 设置外键的字段是且必须是相关联的某一个表的主键字段
  • 外键可以加强两个表的相关性,记录的外键值必须在相关表的主键值中出现过
  • 外键值可以为空
#foreign key用例
create table world.country(code char(3), name char(52), PRIMARY KEY (code));

create table world.city(id int AUTO_INCREMENT, countrycode char(3), PRIMARY KEY (id), foreign key(countrycode) references world.country (code));
  • 1
  • 2
  • 3
  • 4

3. 非空约束

  • 非空约束关键字:not null
  • 设置非空约束后,将不允许该字段的值为NULL
#not null用例
create table world.city(id int not null);
  • 1
  • 2

4. 唯一性约束

  • 唯一约束关键字:unique
  • 设置唯一性约束的字段中的值不能重复出现
  • MySQL中NULL表示没有值,因此即使有唯一性约束,一个字段也可以有多个NULL
#unique用例
create table world.city(id int unique);
  • 1
  • 2

5. 自增约束

  • 自增约束关键字:auto_increment
  • 设置自增的字段,将自带not null属性,插入时如果不主动赋值,将在存在过的记录的基础上,找到最大值加1
  • 一个表只能设置一个auto_increment约束
  • 设置自增约束的字段,必须是整数类型,必须同时设置primary key或unique

6. 默认约束

  • 默认约束关键字:default
  • 通过默认约束可以设置字段的缺省值
#default用例
create table world.city(id int default null);
  • 1
  • 2

7. 变更约束性

7.1 主键、外键、唯一性

#增加约束
alter table 表名 add constraint 约束名 primary key|foreign key|unique (列名);

#删除约束
alter table 表名 drop primary key;
alter table 表名 drop index 约束名; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

7.2 自增、非空、默认

#修改约束,修改后会消除原有约束,更新为设置的约束
alter table modify 列名 列类型 auto_increment|not null|default;
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/778486
推荐阅读
相关标签
  

闽ICP备14008679号