目录
- 一、新增语句
- 1、新增单条数据
- 2、批量插入多条数据
- 3、将老表数据插入到新表
- 4、插入数据时如果遇到键冲突,则执行更新操作
- 二、修改语句
- 三、删除语句
- 1、普通删除表全部数据(会记录事务日志可回滚)
- 2、快速删除表全部数据(不计入事务日志无法回滚)
- 3、根据条件删除表数据
一、新增语句
1、新增单条数据
INSERT INTO 表名 VALUES (值1,值2,值3,...);
INSERT INTO 表名(列1,列2,列3,...) VALUES (值1,值2,值3,...);
2、批量插入多条数据
INSERT INTO 表名(列1,列2,列3,...)
VALUES
(值1,值2,值3,...),
(值1,值2,值3,...),
(值1,值2,值3,...),
...
3、将老表数据插入到新表
INSERT INTO 新表名 SELECT * FROM 老表名 WHERE 1=1;
INSERT INTO 新表名(列1,列2,列3,...) SELECT 列1,列2,列3,... FROM 老表名 WHERE 1=1;
4、插入数据时如果遇到键冲突,则执行更新操作
INSERT INTO 表名(列1,列2,列3,...) VALUES (值1,值2,值3,...) ON DUPLICATE KEY UPDATE 列1 = 值1, 列2 = 值2;
二、修改语句
1、更新全部数据
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2;
2、根据条件更新数据
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;
三、删除语句
1、普通删除表全部数据(会记录事务日志可回滚)
DELETE FROM 表名;
2、快速删除表全部数据(不计入事务日志无法回滚)
TRUNCATE TABLE 表名;
- 需要注意的是,DELETE 和 TRUNCATE 的区别在于:
DELETE 是 DML (Data Manipulation Language) 语句,每次删除一行并记录在事务日志中,可以进行回滚操作TRUNCATE是 DDL (Data Definition Language) 语句,一次性删除整个表的数据并不记录在事务志中,无法回滚操作。它比DELETE 语句效率更高,但无法触发相关的触发器 (trigger)
在使用任何删除语句之前,请务必谨慎,并确保备份了重要的数据,以免误删或丢失数据.
3、根据条件删除表数据
DELETE FROM 表名 WHERE 条件;