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
数据类型时,应该注意其存储的字节数和二进制数据的来源。