mysql表约束

2020-09-21
作用:用于保证数据的完整性和一致性

部分约束条件

1.primary key : 标识该字段该表的主键,唯一的标识记录,不能为空(unique + not null)
2.foreing key : 标识该字段为该表的外键,实现表与表之间的关联
3.not null : 标识该字段不能为空
4.unique key : 标识该字段的值是唯一的,可以为空,一张表中允许有多个字段使用该约束
5.auto_increment : 标识该字段的值自动增长(必须是整数类型,且为主键,一张表里只能设置一个字段自增)
6.default : 为该字段设置默认值
7.unsigned : 无符号,正数
8.zerofill : 使用0填充,例00002

补充:
不设置not null时,默认为null
不设置default默认值时,入插入记录时不给字段赋值,此字段就为空
例:
sex enum('male','female') not null default 'male' #sex字段为枚举类型,不能为空,默认赋值为male
age int unsigned not null default 20 #age字段必须为正值(无符号),不能为空,默认值为20

索引(index,unique)是数据结构

例子:
1.主键

mysql> create table t7(hostname char(20) primary key,ip char(150));
mysql> create table t9(hostname char(20),ip char(150),primary key(hostname));

2.联合主键

mysql> create table t9(hostname char(20),ip char(150),primary key(hostname,ip));
mysql> alter table t10  drop  primary key;     #删除主键

3.索引(优化查询速度)

mysql> create table t12(hostname char(20) primary key,ip char(150),index (ip));
mysql> create table t101(hostname char(20) primary key,ip char(150),index hn(ip));     #给索引起名hn
mysql> create index hn on t105(ip);
mysql> alter table t101  drop  index hn;      #删除index索引

4.外键(一般不用,耦合性太高)

mysql> create table t1(id int,manager char(10) primary key) engine = innodb;
mysql> create table t2(id int,admin char(10),foreign key (admin) references  t1 (manager)) engine = innodb;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 约束条件 primary key(主键约束,用于唯一标识对应的记录) foreign key(外键约束) not ...
    超音速6阅读 85评论 0 0
  • mysql表的约束 约束是一种限制,它通过对表的行或者列的数据做出限制,来确保表数据的完整性和唯一性.在mysql...
    运维阿文阅读 1,167评论 0 0
  • 知识点一: 表约束 非空约束,唯一约束,自增长,默认约束,主键约束,外键约束 1 not null 非空约束 例子...
    太阳出来我爬山坡阅读 246评论 0 0
  • @[toc] MySQL约束概述 MySQL约束是一种限制,它通过限制表中的数据,来确保数据的完整性和唯一性。使用...
    夜雨流云阅读 248评论 0 0
  • 字段常用约束如下表: 主键(primary key) 能唯一标识记录的字段,可以作为主键。一个表只能有一个主键。主...
    StrongZhao阅读 1,405评论 0 1