求一SQL语句写法

hleren 2014-03-11 07:44:55
想把数据库中所有表和字段都检索一下,所有包含 abc 的内容都替换成 def

这样的SQL语句怎么写,能实现吗?

谢谢
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
知道就是你 2014-03-12
  • 打赏
  • 举报
回复
只能使用基于MYSQL动态SQL的存储过程实现 ,大体思路: 先从系统表中或目标数据库的所有表信息(名称,结构),存放于游标之中,循环遍历游标,在游标中判断是否包含abc,如果包含 则使用动态SQL语句执行修改操作 。 不知你是使用一次还是多次?如果仅执行一次,可以先备份数据数据,之后直接使用记事本或其他编辑器 查找替换实现不是更加简单 ?
WWWWA 2014-03-12
  • 打赏
  • 举报
回复
没有这样的SQL语句,要用SP,打开系统表,取得所有表名及列名,再用字符串累计生成SQL语句再执行的方法
Rotel-刘志东 2014-03-12
  • 打赏
  • 举报
回复
要通过存储过程来做了,在系统表中information_schema.columns查询取得列名、表名, 可以遍历一下包含 abc 的内列,然后替换掉。
benluobo 2014-03-11
  • 打赏
  • 举报
回复
编写存储过程,取值information_schema.COLUMNS,循环结果集 动态执行 update tableName set columnName='abc' where locate('def', columnName) > 0

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧