十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
删除整个数据库是不行的,也没有这样的工具,
创新互联建站,专注为中小企业提供官网建设、营销型网站制作、成都响应式网站建设公司、展示型成都网站设计、成都网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
你只有一个表一个表的删除某文字,比如删除表P里的A字段里的XXX文字,你可以套用以下思路去执行:
update P set A=substring(A,0,charindex('XXX',A),)+substring(A,charindex('XXX',A)+3,len(A))
背景:用户表中的name存的是用户名字的拼音和中文。
需求:名字去除掉所有的中文字符。
解决方案:
通过CONVERT(name USING ASCII)把中文转换为?,然后再进行替换。
引申问题:怎么判断字段包含中文字符
方法1:查询CONVERT(name USING ASCII)转换为后有?的数据。
方法2:通过正则表达式查询,'[^ -~]'或'e[4-9][0-9a-f]{4}'或者'^(..)*(E[4-9])'表示含中文。
方法3:通过length()和char_length()返回值不同进行查询。
参考链接:
( )
使用替换函数就可以了
UPDATE `tablename` SET html = REPLACE ( html, 'b', '' );
replace(object, search,replace)
把object中出现search的全部替换为replaceselect replace('www','w','Ww')---WwWwWw
upadte A set B = '' where left(B,2) in ('安徽','河南','北京','上海',等等)
注意:如果你的数据库设置的是utf-8, 可以直接使用left(B,2), 这里取的B字段的前两位,如果数据库设置的不是utf-8, 你就要去前4位, 后面把全国的省份名称的前两个字都录入就可以了,比如“黑龙江”录入“黑龙“
PREPARE stmt1 FROM ‘delete from posts where slideshow_id=?’;
set @a=1;
EXECUTE stmt1 USING @a ;
或者用一个过程
delimit $
CREATE PROCEDURE PRO1(n int)
BEGIN
delete from posts where slideshow_id=n;
END $
call pro1(1) $ //调用过程
$str = 'asdkasd54sd8s788s78dsis爱hi个股';
$str = preg_replace('/\d*\w*/','',$str);
echo $str;
不过这是先处理好再发送sql语句
尽量少在数据库里做运算,毕竟数据库主要功能是存储