数据库SQL语句大全
sql删除字段开头不是p标签的数据
DELETE FROM your_table_nameWHERE your_column_name NOT LIKE 'p%';
删除多个关键词内容,火车头
DELETE FROM Content WHERE ([内容介绍] LIKE '%目录%' OR [内容介绍] LIKE '%培训%' OR [内容介绍] LIKE '%香港%' OR [内容介绍] LIKE '%专家%');
参考
DELETE FROM Content WHERE ([内容介绍] LIKE '%攻略1%' OR [内容介绍] LIKE '%攻略2%' OR ......);
SQL删除picurl字段不包含img.com的数据
DELETE FROM Content WHERE picurl NOT LIKE '%img.com%';
SQL删除picurl字段不包含img.com和123.com的数据
DELETE FROM Content WHERE picurl NOT LIKE '%img.com%' AND picurl NOT LIKE '%123.com%';
清空所有相同数据保留一条
delete from Content where id not in ( select dt.id from ( select min(id) as id from Content group by [分类]) dt)
判读已采为0给已发赋值1
UPDATE Content SET 已发='1' WHERE 已采 LIKE '0'
判断已发为1赋值已采赋值1,主要是用于火车头过滤内容每次启动采集重复数据
UPDATE Content SET 已采='1' WHERE 已发 LIKE '1'
SQL过滤空字符
SELECT TRIM(pinyin) AS name_without_space FROM cms_content;
SELECT TRIM(pinyin) AS column_name_without_space FROM cms_content;
查询ID大于40000个mid赋值
UPDATE cms_content SET mid='2' WHERE id>40000
通过ID判断aaa表给cms_content1表duotu字段对应赋值
UPDATE cms_content SET mid='2' WHERE id>40000
通过ID判断aaa表给cms_content1表duotu字段对应赋值
UPDATE cms_content1,aaa SET cms_content1.duotu=aaa.duotu WHERE cms_content1.id=aaa.id;
SQL追加,把qb_form_content3表中的UID值追加到qb_form_content中,多个表多次执行
UPDATE qb_form_content,qb_form_content3 SET qb_form_content.uid=qb_form_content3.uid WHERE qb_form_content.id=qb_form_content3.id
SQL删除重复数据保留一条
delete from aaaa where id not in ( select dt.id from ( select min(id) as id from aaaa group by title ) dt)
SQL删除某个字段值太少的数据
下面是火车头的方法
delete from Content where LENGTH([内容])<100
下面是数据库的方法
update abc_ set a='' where len(a)<3
delete from cms_content1 where 字段=' ' OR 字段 IS NULL;
查询列出表中某个字段相同值
select * from biao where pinyin in (select pinyin from biao group by pinyin having count(pinyin) > 1)
批量修改数据库某个表中的字段中的值
update Content set 字段名=replace(字段名,'替换的','替换后的');
修改ID起始值
alter table qb_alonepage AUTO_INCREMENT=113148
判断某个字段给对应其他字段清空值
update 表 set 清空的字段=null where wxid='wxid值'
字段复制
update Content set 复制后的字段=复制的字段
abc_biao 模糊查询 content 当content有 &auto=0&vid=ddddddd 值的时候 把ddddddd传值到 qqvid字段 同时赋值给leixing字段 qqvid值
UPDATE abc_biao SET qqvid='ddddddd',leixing='ddddddd' WHERE content LIKE '%ddddddd%'
单项查询赋值,查询A字段值为abc,给abc对应的B字段赋值
UPDATE Content SET B='赋值' WHERE A LIKE 'abc'
查询A字段为空给B字段赋值
UPDATE biao SET b='值' WHERE a LIKE ''
清理5之前ID帖子
delete from bbs_content where id<5
清理ID5之后的帖子
delete from bbs_content where id>5
清理ispic=0的帖子
delete from bbs_content where ispic=0
查询A字段包含style,清空字段包含style的记录
UPDATE biao SET A='空值' WHERE A LIKE '%style%'
清除标题中含有报价的内容注意(会删除帖子内容)
DELETE FROM Content Where [标题] like '%报价%'
创建用户
INSERT INTO `qb_memberdata`( `password`,`password_rand`,`yz`,`username`,groupid) VALUES( '471532348c63f43360a88a43491bc82c','30722321','1','sushiba',8);
跨站调用数据
{qb:tag name="news" sql="SELECT * FROM 数据库.表 ORDER BY id DESC LIMIT 0,5"}{$rs.title}{/qb:tag}
随机更新数据库字段赋值
update sushijiameng_comment set touxiang= floor(1 + rand()*108)
指定数据库值随机替换
update sushijiameng_comment set touxiang=ceil(rand()*108) where touxiang='108';
给表字段值
INSERT INTO 表 (字段一, 字段二) VALUES ('值1', '值2')
批量给表字段赋值
INSERT INTO 表 (字段) VALUES ('值1'), ('值2'), ('值3');
执行数据库排序
ALTER TABLE 表名 ORDER BY id ASC/DESC
数据表补齐字段
ALTER TABLE `表` ADD `字段` 字段类型 NOT NULL ;
数据库损坏的修复方法
REPAIR TABLE 数据表名
正则去除中括号(符号)及里面包含的内容
$rs[名称] = preg_replace("/\(.*\)/","", $rs[名称]);
小技巧:可把[ ]改为其他符号应用在需要的地方
正则去除-以及后面的字符串
$rs[名称] = preg_replace('/(.*)-{1}([^\/]*)/i', '$1', $rs[名称]);
SQL的四种匹配模式
SQL提供了四种匹配模式:% _ [ ] [^ ]
1. %
%表示模糊匹配0或多个字符,如以下查询语句:
select * from user where name like '%三%'; 这个语句将会把name中带有“三”的信息全部查找出来
select * from user where name like '%三' ; 这个语句将会把name中最右边带有“三”的信息全部查找出来
select * from user where name like '三%' ; 这个语句将会把name中最左边带有“三”的信息全部查找出来
2. _
_表示任意单个字符,如以下语句:
select * from user where name like '_三_'; 这个语句会匹配出“二三四”
select * from user where name like '__三'; 这个语句会匹配出“一二三”
3. [ ]
[ ]表示括号内所列字符中的一个(类似于正则表达式),如以下语句:
select * from user where name like '老[大二三]'; 如果都存在的话将找出“老大”、“老二”、“老三”
同时支持缩写0-9、a-z等。
4.[^ ]
类似于正则表达式,将括号内的元素排除,如以下语句:
select * from user where name like '[0-3]个' 将会检索出除了“0个”,“1个”,“2个”,“3个”
sql查询某个字段访问量总和
select sum(字段名) from 表名
SQL两张表通过ID判断合并为一张表
create table xinbiao as select t2.content, t3.title,t3.fenlei from qb_reply t2,qb_article t3 where t2.aid =t3.aid
解释:
从qb_reply表中读取出content字段,从qb_article表中读取出title.fenlei字段插入到新建的xinbiao表中。
删除表中相同自动保留一条
DELETE FROM 表
WHERE id NOT IN
(SELECT nd.i FROM
(SELECT MAX(id) i FROM zhuanti GROUP BY name HAVING COUNT(*) > 1
UNION
SELECT MAX(id) i FROM zhuanti GROUP BY name HAVING COUNT(*) = 1) nd
)