您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页Mysql 实用sql语句(一)

Mysql 实用sql语句(一)

来源:爱问旅游网
(1)如果有,则删除后再insert;如果没有,直接insert。

REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

若id=1的记录不存在,REPLACE语句将插入新记录,否则,当前id=1的记录将被删除,然后再插入新记录。

(2)如果有,就update;如果没有,就insert。

INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99) ON DUPLICATE KEY UPDATE name='小明', gender='F', score=99;

若id=1的记录不存在,INSERT语句将插入新记录,否则,当前id=1的记录将被更新,更新的字段由UPDATE指定。

(3)如果有,则什么都不干;如果没有,则insert 插入新纪录。

INSERT IGNORE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

若id=1的记录不存在,INSERT语句将插入新记录,否则,不执行任何操作。

(4)快照:如果想要对一个表进行快照,即复制一份当前表的数据到一个新表,可以结合CREATE TABLE和SELECT。

CREATE TABLE students_of_class1 SELECT * FROM students WHERE class_id=1;

对class_id=1的记录进行快照,并存储为新表students_of_class1:新创建的表结构和SELECT使用的表结构完全一致。

(5)写入查询结果集:可以结合INSERT和SELECT,将SELECT语句的结果集直接插入到指定表中,确保INSERT语句的列和SELECT语句的列能一一对应。

INSERT INTO statistics (class_id, average) SELECT class_id, AVG(score) FROM students GROUP BY class_id;

(6)按天统计消息发送量:

Select  DATE(a.send_time),count(1) as sendCount from t_msg a where a.catagoryId=#{cId} group by DATE(a.send_time) ;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务