🐬

VARBINARY型にはどんな値が入る?

2024/12/18に公開

VARBINARY型には、主に以下のような値が入ります:

  1. バイナリデータ:

    • ファイルのバイナリコンテンツ
    • 画像データ
    • 暗号化されたデータ
  2. 固定長のバイナリデータ:

    • ハッシュ値(MD5、SHA-256など)
    • UUID
  3. 任意のバイト列:

    • 文字や数値では表現できないデータ

VARBINARY型の特徴:

  • 可変長のバイナリデータを格納できる
  • 最大65,535バイトまで保存可能
  • 文字セットやエンコーディングに依存しない
  • データの長さに応じて必要なストレージ容量が変動する

VARBINARY型は、文字列表現を持たないバイナリデータを効率的に保存するのに適しています。

UUIDの例

VARBINARYにUUIDを保存する場合、通常は16バイトのバイナリデータとして格納されます。以下に具体例を示します:

  1. 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