怎么批量替换SQL关键字?

怎么批量替换SQL关键字?比如:一个abc数据库中,多个表中都含有,免费软件,四个字,我想把所有表中的免费软件四个字换成免费共享软件应该怎么写?... 怎么批量替换SQL关键字?比如:一个abc数据库中,多个表中都含有,免费软件,四个字,我想把所有表中的免费软件四个字换成免费共享软件应该怎么写? 展开
 我来答
千锋教育
2015-12-11 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
用sql的批量更新功能,把要替换字符替换成想要替换成的字符。

sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。
命令总解:update 表的名称 set 替换字段=REPLACE(替换字段,原来内容,新内容)
举例说明:
1)把backupfile表里url的字段内容为http://16hg.cn的全部改为http://16hg.net
update backupfile set url=REPLACE(url,'http://16hg.cn','http://16hg.net')
2)根据条件增加字段的内容,如把file_number=1的记录的logical_name字段的内容前面加上tmp,后面加上end。
update backupfile set logical_name=REPLACE(logical_name,logical_name,'tmp'+logical_name+' end ') where file_number=1
3)根据条件去掉指定记录的前面2个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,3,len(logical_name)-2)) where file_number=1
4)根据条件去掉指定记录的后面4个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,1,len(logical_name)-4)) where file_number=2
如有不清楚的可以先用select语句验证是否达成自己想要的效果再进行替换:
SELECT REPLACE(替换字段,'原内容','新内容') from 表名;
update 表名 set 替换字段=(REPLACE(替换字段,'原内容','新内容'))
SQL增加字段内容 update member set memo=memo+'增加一年'
百度网友01920c3
2010-01-09 · TA获得超过392个赞
知道答主
回答量:36
采纳率:0%
帮助的人:46.3万
展开全部
update m_data set m_playdata=replace(m_playdata,'[免费软件]','免费共享软件')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jerry流云
2010-01-09 · TA获得超过346个赞
知道小有建树答主
回答量:248
采纳率:50%
帮助的人:158万
展开全部
--我有办法,看我的代码(假设你的dbms是mssqlserver2005/2008):
USE [你的数据库名字]
GO
DECLARE myCursor CURSOR FOR
SELECT A.name AS tableName, B.name AS columnName
FROM sys.objects A INNER JOIN sys.columns B ON A.object_id = B.object_id
WHERE A.type = N'U'
AND B.is_identity = 0

DECLARE @tableName nvarchar(64), @columnName nvarchar(64)

OPEN myCursor
FETCH NEXT FROM myCursor INTO @tableName, @columnName

WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('UPDATE ' + @tableName + ' SET '
+ @columnName + ' = REPLACE(' + @columnName + ', ''免费软件'', ''免费共享软件'')')
FETCH NEXT FROM myCursor INTO @tableName, @columnName
END
GO
CLOSE myCursor
DEALLOCATE myCursor
GO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
919975024
2010-01-09 · 超过20用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:69.3万
展开全部
update all tables set '免费软件'....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若言诺
2010-01-09 · 超过24用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:81万
展开全部
一表一条也不费事啊
。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式