首页> 基础笔记 >Mysql基础学习 Mysql基础学习

MySQL数值类数据列类型介绍

作者:小萝卜 2019-08-28 浏览 924

简介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)

文章评论

    高端网站建设