INSERT语句
INSERT语句可以向数据表写入记录,可以是一条记录,也可以是多条记录
INSERT INTO 表名(字段1,字段2,.......)#如果不写字段声明,数据库就要先做词法分析再插入,效率降低
VALUES (值1,值2,......);
INSERT INTO 表名(字段1,字段2,.......)
VALUES (值1,值2,......),(值1,值2,......);
INSERT语句方言(只适用于MySQL)
INSERT INTO 表名 SET 字段1=值1,字段2=值2,......;
IGNORE关键字
会让INSERT只插入数据库不存在的记录,如果数据有问题则忽略不插入,数据库不报错
INSERT [IGNORE] INTO 表名 ......;
UPDATE语句
UPDATE语句用于修改表的记录
UPDATE [IGNORE] 表名 #执行顺序1
SET 字段1=值1,字段2=值2,...... 5
[WHERE 条件1.......] 2
[ORDER BY ......] 3
[LIMIT ......];#只能写一个参数 4
UPDATE 表1 JOIN 表2 ON 条件
SET 字段1=值1,字段2=值2,......;
表连接的UPDATE语句可以修改多张表的记录
UPDATE 表1,表2
SET 字段1=值1,字段2=值2,......
WHERE 连接条件;
UPDATE语句的表连接既可以是内连接,又可以是外连接
UPDATE 表1 [LEFT|RIGHT] JOIN 表2 ON 条件
SET 字段1=值1,字段2=值2,......;
DELETE语句
DELETE语句用于删除记录
DELETE [IGNORE] 5 FROM 表名 #执行顺序1
[WHERE 条件1,条件2,.......] 2
[ORDER BY ......] 3
[LIMIT ......];#只能写一个参数 4
DELETE语句的表连接
DELETE 表1,...... FROM 表1 JOIN 表2 ON 条件
[WHERE 条件1,条件2,.......]
[ORDER BY ......]
[LIMIT ......];
结果集不能被删除
DELETE语句的表连接既可以是内连接,又可以是外连接
DELETE 表1 ,...... FROM 表1 [LEFT|RIGHT] JOIN 表2 ON 条件 ......;
快速删除数据表全部记录
DELETE语句是在事务机制下删除记录,删除记录之前,先把将要删除的记录保存到日志文件里,然后再删除记录。
TRUNCATE语句在事务机制之外删除记录,速度远超过DELETE语句
TRUNCATE TABLE 表名;(单个表)