MySQL BINARY 数据类型介绍

BINARY 是 MySQL 中一种常用的数据类型,它用于存储二进制数据。

语法

BINARY 数据类型用于存储二进制数据,其语法如下:

BINARY(M)

其中,M 表示存储的字节数,范围为 1 到 255。

使用场景

BINARY 数据类型通常用于存储二进制数据,如加密密钥、哈希值、图像、音频和视频文件等。

示例

下面是两个使用 BINARY 数据类型的示例:

CREATE TABLE users (
  user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  username VARCHAR(255) NOT NULL,
  password BINARY(64) NOT NULL,
  PRIMARY KEY (user_id)
);

INSERT INTO users (username, password) VALUES
  ('alice', UNHEX(SHA2('mypassword', 256))),
  ('bob', UNHEX(SHA2('secret', 256)));

在上面的示例中,我们创建了一个名为 users 的表,其中包含用户 ID、用户名和密码。密码使用了 BINARY 数据类型,因为它们是经过哈希的二进制数据。我们向表中插入了两个示例记录,每个记录包含用户名和密码。在插入密码时,我们使用了 MySQL 内置的 SHA2 函数对密码进行哈希,并使用 UNHEX 函数将哈希值转换为二进制数据。

接下来,我们将使用 BINARY 数据类型来存储图像数据:

CREATE TABLE images (
  image_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  image BINARY(1024) NOT NULL,
  PRIMARY KEY (image_id)
);

INSERT INTO images (image) VALUES
  (LOAD_FILE('/path/to/image1.jpg')),
  (LOAD_FILE('/path/to/image2.png')),
  (LOAD_FILE('/path/to/image3.gif'));

在上面的示例中,我们创建了一个名为 images 的表,其中包含图像 ID 和图像数据。图像数据使用了 BINARY 数据类型,因为它们是二进制数据。我们向表中插入了三个示例记录,每个记录包含一个图像数据。在插入图像数据时,我们使用了 MySQL 内置的 LOAD_FILE 函数从文件中加载二进制数据。

结论

在本文中,我们介绍了 MySQL 中的 BINARY 数据类型。 BINARY 通常用于存储二进制数据,如加密密钥、哈希值、图像、音频和视频文件等。在使用 BINARY 数据类型时,应该注意其存储的字节数和二进制数据的来源。