首页> 基础笔记 >Mysql基础学习 Mysql基础学习
MySQL数值类数据列类型介绍
作者:小萝卜 2019-08-28 【 MySql 数据库 】 浏览 1241
简介MySQL数值类数据列类型介绍,TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、 DOUBLE、DECIMAL
MySQL数值类数据列类型介绍
数据列类型 |
存储空间 |
说明 |
取值范围 |
TINYINT |
1字节 |
非常小的整数 |
带符号值:-128~127 无符号值:0~255 |
SMALLINT |
2字节 |
较小的整数 |
带符号值:-32768~32767 无符号值:0~65535 |
MEDIUMINT |
3字节 |
中等大小的整数 |
带符号值:-8388608~8388607 无符号值:0~16777215 |
INT |
4字节 |
标准整数 |
带符号值:-2147483648~2147483647 无符号值:0~4294967295 |
BIGINT |
8字节 |
大整数 |
带符号值:-263~263-1 无符号值:0~264-1 |
FLOAT |
4或8字节 |
单精度浮点数 |
最小非零值:+- 1.175494351E-38 最大非零值:+- 3.402823466E+38 |
DOUBLE |
8字节 |
双精度浮点数 |
最小非零值:+- 2.225073E-308 最大非零值:+- 1.797693E+308 |
DECIMAL |
自定义 |
以字符串形式表示的浮点数 |
取决于存储单元字节数 |
整型注意事项:
INT(3)、SMALLINT(3)等整型后面的数字不会影响数值的存储范围,只会影响显示
整型后面的数字只有配合零填充的时候才有实际意义。
整型后面的数字可以省略
浮点型注意事项:
浮点型后面的数字会将存入的数字四舍五入,例如:把一个1.234存入FLOAT(6,1)数据列中,结果是1.2 6代表显示长度,1代表小数位长度,会四舍五入。
实例:
-- 创建t1表,内有4个字段数值类型
mysql> create table t1(
-> m1 tinyint unsigned,
-> m2 int not null default 20,
-> m3 double(6,2) unsigned,
-> m4 int(4) zerofill
-> );
Query OK, 0 rows affected (0.11 sec)
-- 查看表结构
mysql> desc t1;
+-------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------------------+------+-----+---------+-------+
| m1 | tinyint(3) unsigned | YES | | NULL | |
| m2 | int(11) | NO | | 20 | |
| m3 | double(6,2) unsigned | YES | | NULL | |
| m4 | int(4) unsigned zerofill | YES | | NULL | |
+-------+--------------------------+------+-----+---------+-------+
4 rows in set (0.16 sec)
-- 测试数据
mysql> insert into t1 values(200,20,123.56,4567);
Query OK, 1 row affected (0.11 sec)
--m2字段不可为null
mysql> insert into t1 values(256,null,12345.89,23);
ERROR 1048 (23000): Column 'm2' cannot be null
mysql> insert into t1(m1,m3,m4) values(256,12345.89,23);
Query OK, 1 row affected, 2 warnings (0.16 sec)
mysql> select * from t1;
+------+----+---------+------+
| m1 | m2 | m3 | m4 |
+------+----+---------+------+
| 200 | 20 | 123.56 | 4567 |
| 255 | 20 | 9999.99 | 0023 |
+------+----+---------+------+
2 rows in set (0.00 sec)
mysql> insert into t1(m1,m3,m4) values(-20,1.89,123456);
Query OK, 1 row affected, 1 warning (0.05 sec)
mysql> select * from t1;
+------+----+---------+--------+
| m1 | m2 | m3 | m4 |
+------+----+---------+--------+
| 200 | 20 | 123.56 | 4567 |
| 255 | 20 | 9999.99 | 0023 |
| 0 | 20 | 1.89 | 123456 |
+------+----+---------+--------+
3 rows in set (0.00 sec)
mysql>
很赞哦! (0)
上一篇:MySQL字符串类数据列类型介绍
下一篇:MySQL数据库四大数据类型