mysql中的数据类型
数值类型
- 整数型:
- int
- 正常大小的整数,可以带符号,如果有符号,它允许的范围从-2147483648到2147483647.如果是无符号,允许的方位是0-4294967295。
- tinyint
- 一个非常小的整数,可以带符号。如果是有符号,它允许的范围是从-128到127.如果是无符号,允许的范围是0-255。
- bigint
- 一个非常大的整数,如果有符号,允许范围为-9223372036854775808到9223372036854775807.如果无符号,允许的范围从0-18446744073709551615。
- int
- 小数型:
- float
- 单精度浮点型,默认为10,2(10是数字的总数,2是小数的位数)
- double
- 双精度浮点型,默认为16,4(16是数字的总数,4是小数的位数)
- float
字符串类型
-
普通类型:
-
char(固定长度的字符串)
- 固定长度的字符串是1到255之间的字符长度,存储有空格填充到指定长度。限定长度不是必须的,默认为1.
-
varchar(可变长度字符串)
- 与char差不多,但varchar在定义时,必须定义长度
-
适用场景:
- char类型适用存储,固定铲毒的字符串,比如:密码,性别一类
- varchar类型适合存储在一定范围内,有长度变化的字符
-
比如:保存字符“abc”
-
x char(10) 占用10个字节 y varchar(10) 占用3个字节
-
存储空间 查询效率
-
char 耗费空间 高
-
varchar 节省空间 低
-
-
可变类型
- text(大文本,存放超长文本)
- blob(存放二进制数据)
- 字段的最大长度是65535个字符。blob是二进制大对象,并用来存储大的二进制数据,如图像或者其他文件类型。定义为text文本字段还持有大量数据;两者之间的区别是,排序和比较上存储的数据,blob大小写敏感,而text字段不区分大小写。不用指定blob或text的长度。
-
特殊类型:
- set
- enum
日期时间类型
- date(日期)
- time(时间)
- datetime(日期加时间)
- timestamp(时间戳)
- year(年)