在进行数据存储之前,我们先了解一下mysql的数据类型。数据类型是什么呢?数据类型就是指列;存储过程中参数,表达式和局部变量的数据特征,它决定了数据的存储方式,代表了不同的信息类型。
整型:
整型常指整数,但是在整型中可以细分5种类型,TINYNIT
,SMALLINT
,MEDIUMINT
,INT
,BIGINT
。
类型 | 存储范围 | 占用字节 |
---|---|---|
TINYINT | 有符号值:-128 到127 (-2^7 到 2^7-1 )无符号值: 0 到255 (0 到 2^8-1 ) | 1 |
SMALLINT | 有符号值: -32768 到32767 (-2^15 到 2^15-1 ) 无符号值: 0 到 65535 (0 到 2^16-1 ) | 2 |
MEDIUMINT | 有符号值: -8388608 到 8388607 (-2^23 到 2^23-1 )无符号值: 0 到16777215 (2^24-1 ) | 3 |
INT | 有符号值 : -2147483648 到2147483647 (-2^31 到 2^31-1 )无符号值: 0 到 4294967295 (2^32-1 ) | 4 |
BIGINT | 有符号值 :-9223372036854775808 到 9223372036854775807 (-2^63 到 2^63-1 )无符号值: 0 到 18446744073709551615 (2^64-1 ) | 8 |
浮点数
浮点数常指具有小数的数字,浮点数种分两种类型,FLOAT
单精度浮点数,DOUBLE
双精度浮点数。双精度浮点数的精准度为单精度的浮点数的十倍,但是占用的内存就会更大。
类型 | 存储范围 |
---|---|
FLOAT[(M,D)] | -3.402823466E+38 到 -1.175494351E-38 ,0 和1.175494351E-38 到 3.402823466E+38 M表示数字总位数,D表示小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确大约7位小数点。 |
DOUBLE | -1.7976931348623157E+308 到 -2.2250738585072014E-308 ,0 和2.2250738585072014E-308 到 1.7976931348623157E+308 M表示数字总位数,D表示小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确大约7位小数点。 |
字符型
字符型是我们非常常用的一种类型,比如字符串。字符型具有8个类型。
类型 | 存储范围 |
---|---|
CHAR(M) | M个字节,其中M为0<=M<=255 |
VARCHAR(M) | L+1个字节,其中L<=M且0<=M<=65536 |
TINYTEXT | L+1个字节,其中L<2^8 |
TEXT | L+2个字节,其中L<2^16 |
MIUDMTEXT | L+3个字节,其中L<2^24 |
LONGTEXT | L+4个字节,其中L<2^32 |
ENUM(‘val’,’val’) | 1或2个字节,取决枚举的个数(最多65535个值) |
SET(‘val’,’val’,’val’) | 1,2,3,4或8个字节,取决于set成员的数目(最多64个) |
这一节我们先了解清楚mysql的数据类型,下一节我们学习如何创建一个数据表。