字段修饰和约束的使用对我们的数据表起到了非常关键的作用,更加合理规范管理数据表 . . .
字段的修饰
1、 NULL (空)、NOT NULL (非空)
null 表示可以为空
not null 表示这个字段不能是空
2、 UNSIGNED ( 无符号位 ) 无符号一般作用于数值类型 INT
1)在创建表的时候添加
MYSQL> CREATE TABLE t_user(ID INT(10) UNSIGNED);
2)通过ALTER语句
MYSQL> ALTER TABLE t_user MODIFY user_id INT(9) UNSIGNED;
3、 AUTO_INCREMENT ( 自动增长 )
MYSQL> CREATE TABLE t_user(ID INT(10) UNSIGNED AUTO_INCREMENT );
约束
1、 PRIMARY KEY 主键约束 :唯一性,有序性
主键一定是唯一性索引,唯一性索引并不一定就是主键;
一个表中可以有多个唯一性索引,但只能有一个主键;
主键列不允许空值,而唯一性索引列允许空值。
create table t_user(id int,name varchar(20),phone char(11), primary key (id) ); #单个主键
create table t_user(id int,name varchar(20),phone char(11), primary key(id,name) ); #联合主键
2、 UNIQUE KEY 唯一键约束 :不可重复独立性
则该列的值不能出现重复值,而且唯一键的列,允许有 空值,主键不允许出现空值;允许出现多个唯一键
create table t_user(id int,name varchar(20),phone char(11), unique key (phone) ); #手机号码为唯一键
3、 FOREIGN KEY 外键约束
#外键中的级联关系有以下几种情况:
ON DELETE CASCADE 删除主表中的数据时,从表中的数据随之删除:同步删除
ON UPDATE CASCADE 更新主表中的数据时,从表中的数据随之更新:同步更新
ON DELETE SET NULL 删除主表中的数据时,从表中的数据置为空:删除置空
#默认删除主表中的数据前需先删除从表中的数据,否则主表数据不会被删除 : 删除前检测从表
4、 Comment 字段注释描述
create table db_test( id int name varchar(10),comment "这里是注释" );
5、 ZEROFILL (零填充)
零填充会将 有效位以外的位用零来显示,比如某字段数据类型为INT(5),而插入的值为2,那么零填充会显示00002