1. date_format(caldate,'%Y-%m-%d')
2. 截取字符串:left,right
3. 截断表:TRUNCATE table sproject_tab;
4. 追加字符串:update tk_main_question set keyword=CONCAT(keyword,',海南模拟')
5. 替换:update table set name=replace(name,'aa','bb')
6. 子查询+limit:
update tk_main_question set keyword='海南' where id in
(select * from (select id from tk_main_question where item_type=1 and category=1 and `status`=2 order by id limit 620) tp )
7.存在插入:
into sdors_tab(project_id,dors_code,dors_name,dors_email) select {$project_id},{$doctor['id']},'{$doctor['name']}','{$doctor['email']}' from dual where not EXISTS (select id from sdors_tab where dors_email='{$doctor['email']}');
8.取差值:
TO_DAYS(project_endtime)-TO_DAYS(project_starttime)
9.数据表自身信息:INFORMATION_SCHEMA.COLUMNS
10.日期查询:
update exam_paper set `status`=2 where date_format(add_time,'%Y-%m-%d')='2015-10-08';
11.批量插入:
insert into sdors_tab(project_id,dors_code,dors_name,dors_email) select 27,id,name,email from query_info_doctor where email<>'' and doctor_profession1<>'传染科' order by id desc LIMIT 80;
12.去重:
SELECT id,name,email,count(DISTINCT email) from query_info_doctor where email<>'' {$cond} GROUP BY email;
13.查找字符串:
SELECT * from yn_kh where locate('E',身份证号)=0;
14.分组统计:
select *,count(准考证号) as num from yn_pp where 医师姓名<>'' GROUP BY 准考证号 having num=1;
15.子查询+Limit
select * from (select id from tk_main_question
where `status`=4 and item_type=1 and category=5 order by id desc limit 16000) as tab1 order by rand() limit 200;
16.Mysql查询追加序号:
select @rownum:=@rownum+1 as sort,id from (SELECT @rownum:=0) r,exam_main_question where pid='384' order by sort;
17.两表批量更新:
update exam_main_question INNER JOIN (
select @rownum:=@rownum+1 as sort,id from (SELECT @rownum:=0) r,exam_main_question where pid='384' order by sort) b
on exam_main_question.id=b.id set exam_main_question.sort=b.sort
18.随机取数:
select * from tk_main_question where `status`=4 and edit_uid=22 and category=1 order by RAND() LIMIT 400;
19.取数更新:
update tk_main_question set STATUS='1' where id in(
select id from (
select id from (
select * from tk_main_question where `status`=4 and category=1 and (edit_uid=22 or edit_uid=19) order by id desc LIMIT 16000) tab1
where specialty_code=105 and edit_uid=19 order by id desc LIMIT 300) tab2)
20.两表更新:
update yn_score p right JOIN yn_err on yn_err.`准考证号`=p.`准考证号` set p.分数=yn_err.`核查` ;
21.随机更新:
update tk_main_question set status='6' where item_type=2 and category=5 and edit_uid in (19,22) and `status`<>2 order by RAND() LIMIT 87;
22.MySQL注释:
/**/
23.字符串包含:
select t.*,d.`name` as dor_name,s.`name` as tem_name,d.full_hospital from template_items t
left join doctors d on d.id=t.doctor_id
left join templates s on s.id=t.template_id where t.doctor_id=182 and find_in_set('1',tag_id) order by id desc limit 1;
24.一对多联查:
select patients.*,t.tags as tag_name from patients
left join (select patient_id,GROUP_CONCAT(name) as tags from patient_tags LEFT JOIN tags on tags.id=patient_tags.tag_id GROUP BY patient_id) t
on patients.id=t.patient_id ORDER BY patients.id des
25.多表更新:
update tk_option INNER JOIN tk_main_question on tk_main_question.serial_code=tk_option.ques_serial_code
set tk_option.main_qid=tk_main_question.id
where tk_main_question.source is not null and tk_main_question.item_type=1;
update tk_main_question INNER JOIN tk_option on tk_main_question.serial_code=tk_option.ques_serial_code
set tk_main_question.answer=tk_option.id where tk_main_question.source is not null and tk_main_question.item_type=1 and tk_option.sort=tk_option.true_answer
26.创建表:
drop table if exists Sexport_temp;
CREATE TABLE `export_temp` (
`answer` varchar(200) DEFAULT NULL,
`ques_serial_code` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;