【学习笔记】数据库的列类型和字段属性
列类型
数值
-
tinyint 十分小的数据 1个字节
-
smallint 较小的数据 2个字节
-
mediumint 中等大小的数据 3个字节
-
int 标准的整数 4个字节
-
bigint 较大的整数 8个字节
-
float 浮点数 4个字节
-
double 较大的浮点数 8个字节
-
decimal 字符串类型的浮点数 金融计算的时候,使用decimal
字符串
-
char 固定字符串 范围:0~255
-
varchar 可变长字符串 0~65535
-
tinytext 微型文本 2^8 - 1
-
text 文本串 2^16 - 1 保存大文本
mysql4.x varchar(100)指的是可以放100个字节,即33个汉字。 mysql5.x varchar(100)指的是可以放100个字符,即100个汉字。 char、tinytext、text与之相同
时间日期
-
date YYYY-MM-DD 日期格式
-
time HH:mm:ss 时间格式
-
datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
-
timestamp 时间戳 即1970.1.1 到现在的毫秒数
-
year 年
null
-
未知,没有值
-
不要使用NULL来计算,结果一定为NULL
字段属性
Unsigned
-
无符号的整数
-
声明了该列不能为负数
zerofill
-
0填充的
-
不足的位数,使用0来填充
比如 某个字段是int(3),你输入的是5,那么它自动填充为005
自增
-
自动在上一条记录的基础上加1
-
通常用来设计唯一的主键,必须是整数类型
-
可以定义设计主键自增的七时至和步长
非空
-
假设设置为not Null 非空,如果不给它赋值,就会报错
-
NULL,如果不填写值,默认就是null
默认
-
设置默认的值
-
如果不指定该列的值,就会为你设置的默认值
如图,我们给sex属性设置为男
当我们新增一行时,自动填充为“男”
/*
每一个表,都必须存在以下5个字段,未来做项目用的,表示每一个记录存在的意义
id 主键
version 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
*/