更改 MySQL 中文本列中的文件扩展名?

mysqlmysqli database

要更改文本列中的文件扩展名,您可以使用 UPDATE 命令和 REPLACE() 函数。假设我们有一些带扩展名的列,我们需要替换所有列。为此,让我们首先创建一个表,将扩展列设置为文本类型:

mysql create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ProgramExtension1 text,
   ProgramExtension2 text,
   ImageExtension text
);
Query OK, 0 rows affected (0.52 sec)

以下是使用 insert 命令在表中插入记录的查询:

mysql> insert into
DemoTable(ProgramExtension1,ProgramExtension2,ImageExtension)values('.java','.c','.jpeg');
Query OK, 1 row affected (0.18 sec)

以下是使用 select 命令显示表中记录的查询:

mysql> select *from DemoTable;

这将产生以下输出:

+----+-------------------+-------------------+----------------+
| Id | ProgramExtension1 | ProgramExtension2 | ImageExtension |
+----+-------------------+-------------------+----------------+
|  1 | .java             |                .c |          .jpeg |
+----+-------------------+-------------------+----------------+
1 row in set (0.00 sec)

以下是更改文本列中文件扩展名的查询:

mysql> update DemoTable
   set ProgramExtension1=replace(ProgramExtension1,'.java','.py'),
   ProgramExtension2=replace(ProgramExtension2,'.c','.cpp'),
   ImageExtension=replace(ImageExtension,'.jpeg','.png');
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0

让我们检查文件扩展名是否已更改:

mysql> select *from DemoTable;

这将产生以下输出 −

+----+-------------------+-------------------+----------------+
| Id | ProgramExtension1 | ProgramExtension2 | ImageExtension |
+----+-------------------+-------------------+----------------+
|  1 |               .py |              .cpp |           .png |
+----+-------------------+-------------------+----------------+
1 row in set (0.00 sec)

相关文章