他のベンダーによってSQL推進の為に書かれたコードを促進する為に、次のテーブルに書かれているようにMySQLはデータタイプをマップします。これらのマッピングにより、他のデータベースシステムからテーブル定義をMySQLにインポートする事が容易になります。
他のベンダータイプ | MySQLタイプ |
BOOL , |
TINYINT |
BOOLEAN |
TINYINT |
CHAR VARYING( |
VARCHAR( |
DEC |
DECIMAL |
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 |
データタイプのマッピングは、元のタイプの仕様が廃棄された後、テーブル作成時に行われます。もし他のベンダーが利用したタイプでテーブルを作成して、DESCRIBE
ステートメントを発行すると、MySQLは、同等のMySQLタイプを利用してテーブル構成をレポートします。例:
tbl_name
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)