一、数据类型
指创建表时给数据指定的类型。
二、常用的数据类型
1.数值类型
- 整数 int
- 范围:4 个字节
- 使用:int(m)
- 例如:int(4)
- 存储的数为 10 时,在左边增加两个 0 凑足 4 位。
- 存储的数为 100 时,在左边增加一个 0 即可。
- 存储的数为 10000 时,实际存储的位数超出指定的位数则不能存储,会报错。
- bigint:
- 范围:8 个字节
- 浮点类型
- 单精度 float
- 范围:4 个字节
- 双精度 double
- 范围:8 个字节
- 使用 double(m, d):其中 m 表示总位数(整数位 + 小数位),d 表示小数位数
- 例如:deouble(6, 3)
1.存储 3.1415926,会自动四舍五入,实际存储的值为 3.142.
2.存储 314.15926,会自动四舍五入,实际存储的值为 314.159.
3.存储 3141.5926,不能进行存储,会报错。
- 定点数类型 decimal
- 特点:存储非常精确,多用于表示金钱
- 使用 decimal(m ,d) :
1.如果都指定值,与浮点类型使用方式相同。
2.如果没有指定参数,则采用默认值,其中 m 的默认值为 10,d 的默认值为 0.例如:定义 decimal 没有指定参数,存储的数 1.23,则实际只会存储 1.
3.如果指定一个参数,则该参数的值是 m 的值,d 取默认值。例如:decimal(3) 表示保存 3 位整数。
- 单精度 float
2.字符串类型
- char 和 varchar 类型非常相似,都可以存储较短的字符串,不同之处:
- char(定长字符串)
- 范围:0-255
- 例如:char(4) 如果存储的字符串长度小于 4 时,则会在字符串的右侧补充空格达到长度 4。
- varchar(可变长度字符串)
- 范围:0-65535
- 例如:varchar(m)
1.如果存储的字符串长度小于 m 时,不会再填充空格。
2.如果存储的字符串长度大于 m 时,会报错。
- text 存储数据量比较大的文本数据,例如文章、小说。
- blob 存储数据量比较大的二进制数据,例如图片、视频等。
- char(定长字符串)
- 日期时间类型
- date:只存储日期(年、月、日),不存储时分秒
- datetime:存储日期和时间(时分秒)
- timestamp:存储日期和时间(时分秒)
- datetime 与 timestamp 的不同点,前者存储的时间范围大。
- year:只存储年
- time:只存储时间(时分秒)
- json 数据类型
- json 是一种轻量级的数据交换格式,类似于 XML,但比 xml 更简单、易读、易编写。
- json 的分类:json 数组和 json 对象
- json 数组可以存储多种数据类型,格式为:[值1, 值2, 值3, …],以 ‘[’ 开始,以 ‘]’ 结尾。
- json 对象以 “键/值”的方式存储,以 ‘{’ 开始 和以 ‘}’ 结尾,其格式为:{“键1”: 值1, “键2”: 值2, “键3”: 值3,},其中每组键和值使用 ‘,’ 隔开,键和值之间使用 “:”.
Tips: 在 MySQL Shell 中可以输入命令:? data types;
查看更多的数据类型,要想获得某个具体数据类型的介绍,可以使用 help <item>,例如:help int。