常用SQL范例

本文汇总了多种SQL操作技巧,包括数据删除、主键调整、查询效率优化、数据插入、全文索引建立、数据库引擎修改、唯一键添加及重复数据清理等。通过具体案例展示了如何进行表结构调整、数据更新及联表查询。

连接删除

DELETE m  FROM mtv_basecontent m INNER JOIN mtv_basecontent p 
ON m.parent_id=p.id 
WHERE p.id>1000000000 AND m.update_id=0 AND p.video_type=1 
AND m.video_type=2 AND m.content_type="tv" AND p.update_id!=0


去除主键同时添加主键

ALTER TABLE playstats DROP PRIMARY KEY,ADD PRIMARY KEY(id,startTime);


查看查询效率

EXPLAIN PARTITIONS SELECT * FROM playstats WHERE startTime="2014-01-01 00:00:01";


查询添加

INSERT INTO mtv_play_error(sid,source,offLine_time,result,
operator_id,STATUS,title,play_url,content_type,playerr_count) 
SELECT b.sid,'tv189','2014-04-18 15:30:00',1,0,0,CONCAT(b.display_name,'_待处理'),
m.play_url,b.content_type,0 
FROM mtv_basecontent b INNER JOIN mtv_media_file m
ON m.content_id=b.id WHERE m.source='tv189' AND b.id IN (1000075473,1000083541);


添加全文索引

ALTER IGNORE TABLE mtv_basecontent ADD FULLTEXT INDEX full_index_tagsCode (tags_code)WITH PARSER mysqlcft;


修改数据库引擎

Alter table mtv_account engine=innodb;


增加唯一键,同时去除重复数据

ALTER IGNORE TABLE mtv_account ADD UNIQUE INDEX account_unique_userId (user_id)


增加一列

alter table mtv_loginLog add column user_type int(4) comment '',login_status int(4) comment '';


查看表的状态:

show table status from tvservice like 'mtv_match';


group by 组内排序

select * from (select * from mtv_theme_style order by  create_time asc) as new group by `code`;

或者

select * from mtv_theme_style new group by code,create_time having create_time = (select min(create_time) from mtv_theme_style where code=new.code);


显示创建表时的信息

show create table mtv_match;

连接更新

update A a INNER JOIN B b 
ON a.id=b.id set a.code = b.code
WHERE a.status =1 and b.status =1



转载于:https://my.oschina.net/u/241670/blog/223857

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值