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)
广告