MySQL 数据类型:使用其他数据库引擎中的数据类型
跳到导航
跳到搜索
为了方便使用为其他供应商的 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)