🐬
VARBINARY型にはどんな値が入る?
VARBINARY型には、主に以下のような値が入ります:
-
バイナリデータ:
- ファイルのバイナリコンテンツ
- 画像データ
- 暗号化されたデータ
-
固定長のバイナリデータ:
- ハッシュ値(MD5、SHA-256など)
- UUID
-
任意のバイト列:
- 文字や数値では表現できないデータ
VARBINARY型の特徴:
- 可変長のバイナリデータを格納できる
- 最大65,535バイトまで保存可能
- 文字セットやエンコーディングに依存しない
- データの長さに応じて必要なストレージ容量が変動する
VARBINARY型は、文字列表現を持たないバイナリデータを効率的に保存するのに適しています。
UUIDの例
VARBINARYにUUIDを保存する場合、通常は16バイトのバイナリデータとして格納されます。以下に具体例を示します:
- 16バイトのバイナリデータとして保存されたUUID:
0x6CCD780CBABA102695645B8C656024DB
これは、以下の文字列形式のUUIDに相当します:
6ccd780c-baba-1026-9564-5b8c656024db
UUIDをVARBINARY型に変換して保存する際は、通常UUID_TO_BIN()
関数を使用します。例えば:
INSERT INTO uuid_table (uuid_column)
VALUES (UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db'));
この方法で保存されたUUIDは、取り出す際にBIN_TO_UUID()
関数を使用して文字列形式に戻すことができます。
注意点として、MySQL 8.0以降ではこれらの関数が組み込まれていますが、それ以前のバージョンでは独自の関数を作成する必要があります。
Discussion