当前位置: 首页 > 面试题库 >

替换MySQL中的所有字段

轩辕奕
2023-03-14
问题内容

我需要通过使用REPLACE命令替换表的列中的一些字符。
我知道该REPLACE命令需要一个列名,然后是要更改的文本(在以下html" target="_blank">示例中为“ a”字符)和新文本(在以下示例中为“ e”字符)。

UPDATE my_table SET my_column = REPLACE (my_column,'a','e' );

这样执行该命令将用’ e* ‘字符更改表的列中所有’ a ‘出现次数。my_column``my_table *

但是,如果我需要REPLACE为每一列而不只是为每一列执行命令,该怎么办?这可能吗?

谢谢


问题答案:

使用以下SQL查询来生成您需要替换所有列中的值的SQL查询。

select concat(
       'UPDATE my_table SET ',
       column_name,
       ' = REPLACE(', column_name, ', ''a'', ''e'');')
from information_schema.columns
where table_name = 'my_table';

执行此SQL查询后,只需运行所有查询即可替换所有值。

经过谷歌搜索未经测试

用这样的核心创建一个存储过程。它可以接受表的名称,要查找的值和要替换的值。

主要思想是使用:

  1. 为动态SQL执行准备的语句;
  2. 游标以遍历表的所有列。

请参阅下面的部分代码(未经测试)。

DECLARE done INT DEFAULT 0;
DECLARE cur1 CURSOR FOR
    SELECT column_name FROM information_schema.columns
    WHERE table_name = 'my_table';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN cur1;
REPEAT
    SET s = concat(
       'UPDATE my_table SET ',
       column_name,
       ' = REPLACE(', column_name, ', ''a'', ''e'');');
    PREPARE stmt2 FROM s;
    EXECUTE stmt2;
    FETCH cur1 INTO a;
UNTIL done END REPEAT;
CLOSE cur1;


 类似资料:
  • 我正在寻找在javascript或jquery中更改字符串中所有字符的最佳和最快的方法 例如: abcdefghijklmnopqrstuvwxyz==>aximi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fix 或 abcdefghijklmnopqrstuvwxyz==>å¡Á¡ãghïjklmñãqr§µvwx¡ãz ...。 输出

  • 问题内容: 作为一个自学成才的新手,我为自己创造了一个大问题。在将数据插入数据库之前,我一直在将字符串中的撇号(’)转换为双引号(“”),而不是MySQL实际需要的反斜杠和撇号(')。 在我的表增长超过200,000行之前,我认为最好立即解决此问题。所以我做了一些研究,发现SQL REPLACE函数很棒,但是我现在很困惑。 在ASP中,我正在这样做: 如果我在SQL Workbench中查看数据库

  • 问题内容: 我有一个包含多个空格的字符串。我想用加号代替它们。我以为我可以用 但它只会替换第一次出现的情况。如何获得它来代替所有出现的情况? 问题答案: 这是不需要正则表达式的替代方法:

  • 问题内容: 我正在从数据库中检索数据,其中该字段包含带有HTML数据的字符串。我想替换所有的双引号,使得它可以被用于的 jQuery的 。 使用Java,我正在尝试使用替换引号。 结果字符串未显示所需的更改。O’Reilly的一篇文章规定了使用Apache字符串工具。还有其他办法吗? 是否有正则表达式或我可以使用的东西? 问题答案: 这是如何做 请注意,字符串是不可变的,因此仅仅做是不够的。您必须

  • 问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例:

  • 问题内容: 对于穷人在客户端上实现近似排序规则正确排序的实现,我需要一个JavaScript函数,该函数可以 有效地 替换字符串中的单个字符。 这就是我的意思(请注意,这适用于德语文本,其他语言则有不同的排序方式): 基本上,我需要将给定字符串的所有出现的“ä”替换为“ a”(依此类推)。这样,本机排序的结果将非常接近用户的期望(或数据库将返回的结果)。 其他语言也具有执行此操作的功能:Pytho