如何在 MySQL 中将 BLOB 转换为文本?
在本文中,我们将看到 MySQL 中 BLOB 到 TEXT 的转换。
BLOB:它代表二进制大对象。它是 MySQL 中的一种数据类型,可以将文件或图像以二进制格式存储在数据库中。它有四种类型,即TINYBLOB、BLOB、MEDIUMBLOB 和LONGBLOB。这四种类型都是相似的,它们之间唯一的区别是它们可以容纳的数据量。
顾名思义,在这四种类型中,LONGBLOB 可以容纳的数据量最大,而 TINYBLOB 可以容纳的数据量最少。
MySQL 中的 TEXT 数据类型用于在数据库中存储长文本字符串。它就像 VARCHAR。为了将 BLOB 转换为 TEXT,我们将使用 CONVERT 语句。
句法:
CONVERT( column_name using utf8);
utf8 是 Unicode字符的编码方式。建议在创建网页和数据库时使用ut8。为了演示,请按照以下步骤操作:
第一步:创建数据库
我们可以使用以下命令创建一个名为 geeks 的数据库。
询问:
CREATE DATABASE geeks;
第二步:使用数据库
使用以下 SQL 语句将数据库上下文切换到极客:
询问:
USE geeks;
第三步:表定义
我们的极客数据库中有 demo_table。
询问:
CREATE TABLE demo_table(
NAME VARCHAR(20),
AGE INT,
CITY VARCHAR(20),
FILE BLOB);
第 4 步:将数据插入表中
询问:
INSERT INTO demo_table VALUES ('Romy', 21,
'Delhi', 'My name is romy kumari,
I am 21 yrs old'),
('Pushkar', 22, 'Delhi',
'My name is Pushkar jha,
I am 22 yrs old'),
('Rinkle', 22, 'Punjab',
'My name is Rinkle Arora,
I am 22 yrs old'),
('Ayushi', 22, 'Patna', 'My name is
Ayushi choudhary, I am 22 yrs old');
第五步:查看内容
执行以下查询以查看表的内容
询问:
SELECT * FROM demo_table;
输出:
我们可以看到 FILE 列的内容是编码格式的。
第 6 步:从 BLOB 转换为 TEXT。
询问:
SELECT convert(File using utf8)
from demo_table;
如果要将 BLOB 数据类型列更新为 TEXT 数据类型列。跟着这些步骤:
- 更改表并添加数据类型为 TEXT 的列。
- 将 BLOB 数据转换为 TEXT 日期后,将内容添加到该列。
- 删除 BLOB 列。
第 1 步:添加列
语法:
ALTER Table demo_table ADD
COLUMN AFTER_CONERSION TEXT;
第 2 步:将内容添加到列
UPDATE demo_table SET AFTER_CONERSION
= CONVERT (FILE using utf8);
第 3 步:删除 BLOB 列
ALTER TABLE demo_table
DROP COLUMN FILE;