mySQL之数据类型

来源:互联网 发布:linux zip 解压乱码 编辑:程序博客网 时间:2024/06/07 05:55

整型

默认有符号的[signed]数据类型,指带+-号

tinyint 1个字节

int 4个字节

bigint 8个字节

单精度浮点float

双精度浮点double

精度准确型:decimal(表示的小数最精确)

整型后面长度为显示长度,而不是限定数据输入的长度,如果真实数据长度大于显示长度,则显示完全;如果小于,那么会显示数据长度,可以加zerofill,那么显示长度会在前面补0显示:
这里写图片描述

这里写图片描述

字符型

char:定长

字符在存放时长度不能超出限制,字符长度不够则用空格填补,牺牲了空间,但是查询速度快。

varchar:可变长

字符在存放时长度不能超出限制,在这个前提下存多少就占多大位置,节约了空间,但是查询速度慢。

空格算一个英文字符,数据库的空用null表示
空格算字符
如果需要查看真实的数据长度,需要设置:

set sql_mode = ‘pad_char_to_full_length’

数据库可以自动去除输入字段数据后的空格,但是数据前面的空格默认为字符,查询时只比较数据,会把所有空格去掉~

设置

length():查看字节
char_length():查看字符

日期型

datetime

timestamp

data

time

year

datetime和timestamp区别:只是表示年份的范围不同。

enum和set

enum

在限定范围内,只能取其中一个数值。

如果没有设置默认值,字段不传值的话就会默认从枚举类型中取一个作为默认值。前提必须要设置not null:

默认

set

在限定范围内,可以取一个或多个数值。

无题