mysql 建表对 字段的修饰和约束

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/weixin_42867972/article/details/82823011

字段修饰和约束的使用对我们的数据表起到了非常关键的作用,更加合理规范管理数据表 . . .

字段的修饰

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

猜你喜欢

转载自blog.csdn.net/weixin_42867972/article/details/82823011