SQL基础(二)数据类型

时间:2022-10-19 16:45:43

数据类型 是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

1、整形

1.1 tinyint 1字节
有符号:-128到127 (-2的7次方到 2的7次方-1)
无符号 :0-255 (0-2的8次方-1)

1.2 smallint 2字节
有符号:-32768到32768 (-2的15次方到 2的15次方-1)
无符号 :0-65535 (0-2的16次方-1)

mediumint 3字节
有符号:-8388608到8388608 (-2的23次方到 2的23次方-1)
无符号 :0-16777215 (0-2的24次方-1)

int 4字节
有符号:-2147483648到2147483648 (-2的31次方到 2的31次方-1)
无符号 :0-4294967295 (0-2的32次方-1)

bigint 8字节

有符号:-9223372036854775808到9223372036854775808 (-2的63次方到 2的63次方-1)
无符号 :0-18446744073709551616 (0-2的63次方-1)

2、浮点型数据类型
2.1、float(单精度浮点):float[(M,D)] m是数字总位数,d是小数点后面的位数,如果md被省略,会根据硬件允许的限制来保存值
2.2、double(双进度浮点):double[(M,D)]一般是float存储范围的十倍,C语言默认显示15位小数。
FLOAT[(M总位数,D小数点后位数)]M>=D。单精度浮点,保留小数点后7位,C语言默认显示6位小数。

3、日期时间类型:不常用,多用数字来表示
3.1、YEAR:1970至2069
3.2、TIME:-838:59:59至838:59:59
3.3、DATE:1000-1-1至9999-12-31
3.4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
3.5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59

4、字符型
4.1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255
4.2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535
4.3、TINYINT
4.4、TEXT
4.5、MEDIUMTEXT -L+3字节, L<2^24
4.6、LONGTEXT -L+4字节, L<2^32
4.7、ENUM(‘value1’,’value2’…) -1或2个字节,取决于枚举值的个数(最多65535个值)
4.8、SET(‘value1’,’value2’…) -1、2、3、4或8个字节,取决于set成员的数目(最多64个成员)