使用 MySQL 查找并替换整个表中的文本?
mysqlmysqli database
可以在replace()函数的帮助下找到并替换文本。借助以下步骤进行解释−
首先,借助create命令创建一个表,如下所示 −
mysql> CREATE table FindAndReplaceDemo -> ( -> FirstName varchar(200) -> ); Query OK, 0 rows affected (0.43 sec)
创建上表后,借助插入命令插入记录。如下所示 −
mysql> INSERT into FindAndReplaceDemo values('john'); Query OK, 1 row affected (0.15 sec) mysql> INSERT into FindAndReplaceDemo values('smith'); Query OK, 1 row affected (0.17 sec) mysql> INSERT into FindAndReplaceDemo values('Bob'); Query OK, 1 row affected (0.12 sec) mysql> INSERT into FindAndReplaceDemo values('carol'); Query OK, 1 row affected (0.18 sec)
通过 select 语句可以显示所有记录,如下−
mysql> SELECT * from FindAndReplaceDemo;
The following is the output obtaine
+-----------+ | FirstName | +-----------+ | john | | smith | | Bob | | carol | +-----------+ 4 rows in set (0.00 sec)
现在,在替换函数的帮助下,名字 Carol 被替换为 Taylor。其语法如下所示 −
UPDATE yourTableName SET column_name= replace(column_name, 'Old_Value', 'New_Value');
使用上述语法的查询如下 −
mysql> UPDATE FindAndReplaceDemo SET FirstName = replace(FirstName, 'carol', 'Taylor'); Query OK, 1 row affected (0.14 sec) Rows matched: 4 Changed: 1 Warnings: 0
借助 SELECT 语句可以再次查看表的内容。这在下面给出 −
mysql> SELECT * from FindAndReplaceDemo;
以下是获得的输出
+-----------+ | FirstName | +-----------+ | john | | smith | | Bob | | Taylor | +-----------+ 4 rows in set (0.00 sec)
从上面的输出可以看出,Carol 被替换为 Taylor。