MySQL 中 int 和 integer 有什么区别?


在 MySQL 5.0 中,int 是 integer 的同义词。以下演示了 int 和 integer 在内部都表示为 int(11)。

使用 int 数据类型创建表

mysql> create table IntDemo
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (1.04 sec)

以下是表的描述。查询如下所示

mysql> desc IntDemo;

以下是输出结果

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| Id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.06 sec)

查看列类型,它是 int(11)。现在它存储的范围与 integer 定义的范围相同。插入记录的查询如下所示

mysql> insert into IntDemo values(2147483647);
Query OK, 1 row affected (0.20 sec)

mysql> insert into IntDemo values(-2147483648);
Query OK, 1 row affected (0.42 sec)

使用 select 语句显示表中的所有记录。查询如下所示

mysql> select *from IntDemo;

以下是输出结果

+-------------+
| Id          |
+-------------+
| 2147483647  |
| -2147483648 |
+-------------+
2 rows in set (0.00 sec)

使用 integer 数据类型创建表。

创建表的查询如下所示

mysql> create table IntegerDemo
   -> (
   -> Id integer
   -> );
Query OK, 0 rows affected (0.93 sec)

使用 desc 命令检查表的描述。

mysql> desc IntegerDemo;

以下是输出结果

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| Id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

使用 insert 命令在表中插入记录。integer 使用与 int 相同的范围。查询如下所示

mysql> insert into IntegerDemo values(2147483647);
Query OK, 1 row affected (0.11 sec)

mysql> insert into IntegerDemo values(-2147483648);
Query OK, 1 row affected (0.27 sec)

使用 select 语句显示表中的所有记录。查询如下所示

mysql> select *from IntegerDemo;

以下是输出结果

+-------------+
| Id          |
+-------------+
| 2147483647  |
| -2147483648 |
+-------------+
2 rows in set (0.00 sec)

更新于:2019年7月30日

2K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告