7. 实用SQL语句
一些技巧。
1. 插入或替换⚓
如果记录已经存在,就先删除原记录,再插入新记录。不存在的话就插入新记录。
REPLACE INTO <table-name> (column1, ...) VALUES (value1, ...);
2. 插入或更新⚓
如果记录已经存在,就更新该记录。
INSERT INTO <table-name> (column1, ...) VALUES (value1, ...) ON DUPLICATE KEY UPDATE column1=value1, ...;
3. 插入或忽略⚓
如果记录已经存在,就啥事也不干直接忽略。
INSERT IGNORE INTO <table-name> (column1, ...) VALUES (value1, ...);
4. 快照⚓
对一个表进行快照,即复制一份当前表的数据到一个新表。
CREATE TABLE <new-table-name> SELECT * FROM <table-name> WHERE ...;
新创建的表结构和SELECT
使用的表结构及数据完全一致。但是没有了约束(包括主键、自动递增等)。
5. 写入查询结果集⚓
将查询结果集需要写入到表中。
INSERT INTO <table-name> (column1, ...) SELECT ...
需要确保INSERT
语句的字段和SELECT
语句的字段能一一对应。