更改 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)