Mysql数据库安装使用教程10:列属性(列约束)---主键、自增、默认值、注释
文章目录
一、类属性(列约束)
1、简介
约束,保证表的结构和数据的正确性和稳定性,总的来说有五种:唯一性和主键约束、外键约束、检查约束、空值约束、默认值约束,有五大关键词,UNIQUE和Primary Key, Foreign Key, CHECK, NOT NULL, DEFAULT
2、空值约束——字段是否为空:null或是not null
- 默认是可以为空,如果需要此列不为空需要写明not null;
- 语句格式:
create table 表名 (列名 列定义 not null);
3、字段默认值——default
- 字段设置默认值后如果不插入数据是没有这个默认值的数据。
- C、D两个字段都设置默认值,当只插入C字段值时,D字段会自动显示默认值。
- 语句格式:
create table 表名 (列名 列定义 default 默认值);
4、主键(主索引、唯一索引)——primary key(PK)
- 主关键字(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。
- 要求主键的值不能重复。
- 只能有一个主键。
- 如果还存在不重复的记录,可以定义成唯一索引,提高检索效率。
- 主键不能为空,不设置或者null都会变成not null
- 语句格式:
create table 表名 (列名 列定义 primary key);
或是:create table 表名 (列名 列定义,primary key (字段名1,字段名2));
- 在语句末尾设置主键,可以将两个字段都设置为主键即两个字段组成一个主键,不是两个字段都是主键,因为一个表只能有一个主键。
5、自动增长——auto_increment
-
语句格式:
create table 表名 (列名 列定义 suto_increment);
-
该列上必须有索引,not null,只能存在一个自动增长的列。
-
通常定义在主索引(主键)字段上。
-
在处理该列值时,通常传递null或者不写。注意自动增长是可以添加值的。如果定义了主索引或者唯一索引,则添加时不能重复。
-
只要某个自动增长出现过,即使该记录被删除也会被计算在内。
-
通常 自动增长是从1开始递增,但是可以通过修改表属性,更改初始值。表属性 auto_increment=x;(如果比已存在的小,则会从已有的最大值新记录)
-
修改自增开始值:
alter table stu_06 auto_increment XXX;
-
修改现有自动增长值:
update 表名 set 修改点 where 条件;
6、列备注——comment
- 为表列添加注释:
列名 列定义 comment '注释信息';
- 为表添加注释:在表的最后添加
comment='注释信息';
- 修改表注释: alter table 表名 comment ‘修改的注释信息’;
- 修改表的列注释:
alter table 表名 modify column 列名 列定义 comment '修改的注释信息';