MySQL 中的 int 和 integer 有什么区别?

mysqlmysqli database

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

创建具有 int 数据类型的表

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

Here is description of the table。查询如下

mysql> desc IntDemo;

以下是输出 −

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

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

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)

创建一个数据类型为整数的表。

创建表的查询如下

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命令在表中插入记录,整数取值范围与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)

相关文章