PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK) 标识该字段为该表的外键
NOT NULL 标识该字段不能为空
UNIQUE KEY (UK) 标识该字段的值是唯一的
AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT 为该字段设置默认值
UNSIGNED 无符号
ZEROFILL 使用0填充
主键
primary key:唯一标识一条记录,非空(not null)且唯一(unique)。
外键
foreign key:一个 表的外键是另一个表的主键,可以体现出多对一的关系。
1. 必须先创建被关联的表,然后创建要关联的表
2. 如果要想修改关联的表,那么需要加约束条件:
on delete cascade(串联)
on update cascade
唯一
unique key:唯一性约束。
unique(id0,id1)联合唯一:要把id0,id1两者看成一个整体,任何一个字段变,都是不唯一的!
auto_increment
自增
设置偏移量
方式一:
方式二:
在table 外面的数据比如auto_increment,charset 等不需要加modify直接可以赋值修改。
查看修改:
设置步长
会话级别
set session auto_increment_increment=2;
show session variables like ‘auto_in%’;
show variables like ‘auto_in%’;#两者都行
全局级别
set global auto_increment_increment=2;
查看修改:
show global variables like ‘auto_in%’;
两者都设置
set session auto_increment_offset=2;
set session auto_increment_increment=5;
If the value of auto_increment_offset is greater than that of auto_increment_increment, the value of auto_increment_offset is ignored.
not null
非空
default
默认值
unsigned
无符号的,指全是正数,没有负数。
zerofill
零填充。
not null default ‘888888’:not null 和default两者一般合用~
PS:
设置会话级别的偏移量步长只需要退出重新登录即可,而修改全局级别的偏移量和步长需要重启服务才能生效~坑!!!