バイナリ型
データをバイナリとして格納するためのデータ型です。ここまで出てきた各データも、内部的にはビット配列として格納されているのでバイナリ型が利用できないわけではありませんが、バイナリ型ではデータの意味的な特徴を一切無視して格納するため、例えばマルチバイトの文字列を格納した列に対して文字数をカウントするCHARLENGTH()関数を実行しても、文字数は判別できないためバイト数のみ返すこととなります。
型名 | データ型 | 最大格納可能サイズ |
BINARY | 固定長 | 255Byte |
VARBINARY | 可変長 | 64KB |
TINYBLOB | 可変長 | 255Byte |
BLOB | 可変長 | 64KB |
MEDIUMBLOB | 可変長 | 16MB |
LONGBLOB | 可変長 | 4GB |
mysql> CREATE TABLE b1 (c1 VARBINARY(32)); Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO b1 VALUES ('文字列'); Query OK, 1 row affected (0.00 sec) mysql> SELECT LENGTH(c1) FROM b1; +------------+ | LENGTH(c1) | +------------+ | 9 | +------------+ 1 row in set (0.00 sec) mysql> SELECT CHAR_LENGTH(c1) FROM b1; +-----------------+ | CHAR_LENGTH(c1) | +-----------------+ | 9 | +-----------------+ 1 row in set (0.00 sec)