Skip to content

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语句的字段能一一对应。