MySQL 数据类型:使用其他数据库引擎中的数据类型

来自Wikioe
跳到导航 跳到搜索


为了方便使用为其他供应商的 SQL 实现编写的代码,MySQL 映射了数据类型,如下所示。这些映射关系使将 table 定义从其他数据库系统导入 MySQL 变得更加容易:

其他厂商类型 MySQL 类型
BOOL TINYINT
BOOLEAN TINYINT
CHARACTER VARYING(M) VARCHAR(M)
FIXED DECIMAL
FLOAT4 FLOAT
FLOAT8 DOUBLE
INT1 TINYINT
INT2 SMALLINT
INT3 MEDIUMINT
INT4 INT
INT8 BIGINT
LONG VARBINARY MEDIUMBLOB
LONG VARCHAR MEDIUMTEXT
LONG MEDIUMTEXT
MIDDLEINT MEDIUMINT
NUMERIC DECIMAL

数据类型映射在 table 创建时发生,此后原始类型规范将被丢弃。如果使用其他供应商使用的类型创建 table,然后发出“DESCRIBE tbl_name”语句,则 MySQL 使用等效的 MySQL 类型报告 table 结构。例如:

mysql> CREATE TABLE t (a BOOL, b FLOAT8, c LONG VARCHAR, d NUMERIC);
Query OK, 0 rows affected (0.00 sec)

mysql> DESCRIBE t;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| a     | tinyint(1)    | YES  |     | NULL    |       |
| b     | double        | YES  |     | NULL    |       |
| c     | mediumtext    | YES  |     | NULL    |       |
| d     | decimal(10,0) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)