专栏首页乐沙弥的世界MySQL数据类型 -- 数值型

MySQL数据类型 -- 数值型

版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/82823622

在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍数值类型,并演示其用法。

一、数值型 MySQL支持所有标准SQL的所有数值类型。在MySQL中,主要分为以下2大类。一类是整数类型,一类是浮点数类型,如下图所示。

整数类型   上图中列出了整数类型的使用以及其占用字节数,括号后面的数字表示最大显示宽度,与存储空间无关。

整数类型   上图中列出了浮点数类型的使用方法,m表示整数位长度,n表示小数点后的位数。

二、数值型演示

mysql> CREATE TABLE t_num
    -> (
    -> id1 int,
    -> id2 int(4) ZEROFILL
    -> );
Query OK, 0 rows affected (0.11 sec)

mysql> INSERT INTO t_num
    -> VALUES (1, 1);
Query OK, 1 row affected (0.01 sec)

mysql> select * from t_num;
+------+------+
| id1 | id2 |
+------+------+
| 1 | 0001 | -- 注意,这里第二列,右边填充了0值
+------+------+
1 row in set (0.00 sec)

mysql> show create table t_num\G
*************************** 1. row ***************************
       Table: t_num
Create Table: CREATE TABLE `t_num` (
  `id1` int(11) DEFAULT NULL, -- 未指定显示宽度的列,默认为11位
  `id2` int(4) unsigned zerofill DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.09 sec)

-- 下面插入一个超过11位的值,报错,提示超出范围
mysql> insert into t_num values(123456789123,2);
ERROR 1264 (22003): Out of range value for column 'id1' at row 1

-- 下面为表新增一个列,salary,其数据类型为decimal
mysql> alter table t_num add column salary DECIMAL(5,2);
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> select 'Leshami' as Author
    -> union all
    -> select 'http://blog.csdn.net/leshami';
+------------------------------+
| Author |
+------------------------------+
| Leshami |
| http://blog.csdn.net/leshami |
+------------------------------+

-- 插入以一个decimal数据类型的值,提示报错
-- 因为5表示的是总长度,而不是整数部分的长度
mysql> insert into t_num values(2,2,12345.32);
ERROR 1264 (22003): Out of range value for column 'salary' at row 1

-- 再次插入,将总长度控制在5位,则成功
mysql> insert into t_num values(2,2,123.32);
Query OK, 1 row affected (0.02 sec)

mysql> select * from t_num;
+------+------+--------+
| id1 | id2 | salary |
+------+------+--------+
| 1 | 0001 | NULL |
| 2 | 0002 | 123.32 |
+------+------+--------+
2 rows in set (0.00 sec)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL中数字类型、数值类型、时间类型

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    chenchenchen
  • Python数据类型 -数值类型(整数,

    Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。

    py3study
  • Mysql数据库学习(二):数据类型(数值类型 日期和时间类型 字符串类型)

    数据类型 数值类型 日期和时间类型 字符串类型 ? 一、数值类型 整数 ? tinyint[M] [unsigned] [zerofill]   ...

    s1mba
  • MySQL数据类型

    linjinhe
  • mysql 数据类型

    拾点阳光
  • mysql数据类型

    mysql数据的数据类型,指定了字段的类型,不符合指定的字段类型,传入的值则会提示错误;

    十月梦想
  • MySQL 数据类型

    数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似...

    joshua317
  • MySQL 数据类型

    MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 ---- 数值类...

    Rare0716
  • Mysql数据类型

    我们要把现实世界中的各种信息转换成计算机能理解的东西,这些转换后的信息就形成了数据。例 如,某人的出生日期是“1987年5月23日”,他的身高是170厘米,等等...

    阳光岛主

扫码关注云+社区

领取腾讯云代金券