Mysql从入门到放弃(四)

2020-02-17 17:36:31 浏览数 (3)

一、字段约束

1.unsigned 无符号 只能存储正数

只能用于设置数值类型 不允许出现负数

最大存储长度会增加一倍

实例:

代码语言:javascript复制
mysql> create table testcon(
    -> age1 tinyint,
    -> age2 tinyint unsigned
    -> );
insert into testcon(age1,age2) values(255,255);

注意:

如果开启了不严谨报错 会按照当前存储最大值近些截取 如果设置了无符号 不允许插入负值的

2.zerofill 零填充

只能用于设置数值类型 在数值之前会自动用零补齐不足的位数

实例:

代码语言:javascript复制
alter table testcon add zv int(5) zerofill; 修改表testcon添加子弹zv类型int 约束为零填充
insert into testcon(zv) values(1234);
>>> 01234 #补位1个

3.auto_increment 自增

用于设置字段的自动增长 没增加一条记录 该字段的值会自动增加

实例:

代码语言:javascript复制
mysql> create table autoincre(
    -> id int primary key auto_increment,
    -> username varchar(20)
    -> );

注意:

自增需要配合索引去使用

插入数值的时候 无需给值 自动增长 步长默认为1

4.default 默认值

可以通过此属性来指定一个默认值 如果没有在此列添加值 那么默认值为当前添加的值 如果不给default默认值 则默认值为null 如果给当前存在默认值的字段时 当前字段值为你给定的值。

实例:

代码语言:javascript复制
alter table autoincre add sex enum('w','m') default 'w';
insert into autoincre(username) values('lucky');

5.null 和 not null

字段没有给定默认值的情况下 值默认为null 如果给当前字段指定了not null 则必须在插入值的时候 给not null 的字段插入值

实例:

代码语言:javascript复制
alter table user add age tinyint unsigned not null;

6.comment 设置说明

实例:

代码语言:javascript复制
在创建的使用设置说明
mysql> create table testcom(
    -> info varchar(40) comment '存储个人信息字段'
    -> );
修改字段的说明
alter table user modify username varchar(20) comment '存储用户名'
设置表的说明信息
alter table 表名 comment='说明内容'

二、null值注意事项

(1) null值意味着没有值或未知值

(2) 不能对null值进行算数运算

(3) 对null值进行算数运算 其结果还是null

(4) 0或者null 都意味着假 其余值都为真

0 人点赞