MySQL基本数据类型
字段类型
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储方式,代表了不同的信息类型。
-
字符串型
类型 字节 大小 用途 char 1 0-255字符 定长字符串 varchar 2 0-655 35字符 变长字符串 tinytexe 1 0-255字符 短文本(与char储存形式不同) text 2 0-655 35字符 文本 mediumtext 3 0-167 772 15字符 中等文本长度 longtext 4 0-429 496 729 5字符 极大文本 注意:char和varchar需要指定长度
char是指定长度的固定长度 写多少长度就是多少 不足会在其后自动补加空字符
varchar 是一个可变长度 写了长度后 不足也不会自动补齐
-
整数型
类型 字节 范围(有符号) 范围(无符号) 用途 tinyint 1 (-128,127) (0,255) 很小整数值 smallint 2 (-32 768,327 67) (0,655 35) 小整数 mediumint 3 (-838 860 8,838 860 7) (0,167 772 15) 中整数值 int或integer 4 (-214 748 364 8,214 748 364 7) (0,429 496 729 5) 整数值 bigint 8 (-9233 372 036 854 775 808,9223 372 036 854 775 807) (0,184 467 44073 709 551 615) 很大的整数值 注意:在写整数类型的时候用默认的显示长度即可,不用自己在类型后面自己添加(数字)
-
浮点型
类型 字节 范围 用途 float(A,B) 4 23bit(约6~7位10进制数) 单精度浮点数
值绝对能保证精度为6~7位有效数字double(A,B) 8 52bit(约15~16位10进制数) 双精度浮点数值
精度为15~16位有效数字decimal(A,B) A+2 依赖于A和B的值 定点型 注意:在使用浮点类型时要注意 FLOAT(A,B) 、DOUBLE(A,B) 、DECIMAL(A,B)
其中A代表总长度限制(整数位+小数位)
B代表小位数的长度限制
A必须大于B
-
日期型
类型 字节 范围 格式 用途 date 3 1000-01-01—9999-12-31 YYYY-MM-DD 日期值 time 3 -838:59:59—838:59:59 HH:MM:SS 时间值或持续时间 year 1 1901—2155 YYYY 年份值 datetime 8 1000-01-01 00:00:00—9999-12-31 YYYY-MM-SS HH:MM:SS 混合日期和时间值 -
列举、枚举、布尔型
名称 字节 说明 SET 1、2、3、4或8 列举:可以取SET列表中的一个或多个元素 ENUM 1或2 枚举:可以取ENUM列表中的一个元素 布尔型:只有两种取值(1代表TRUE,2表示FALSE)
-
字段属性
属性 功能 说明 not null 非空 必须有值,不允许为null default 默认值 当插入记录时没有赋值,自动赋予默认值(允许为null) primary key 主键 唯一标识一行数据的字段(主键自动设置为not null) auto_increment 自动递增 不能单独使用,必须与primary key一起定义 unique(unique key) 唯一 记录不能重复(一张表可以有多个unique,允许为null) -
MySQL字段修饰符