常用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



你可能感兴趣的:(常用SQL范例)