插入:INSERT
①INSERT INTO 表名(列名…) values (值…)
ps:列的顺序要和值的类型相对应,字符类型数值推荐使用单引号
不可以为null的列且无默认值必须插入数值
省略列名,默认所有列,且列的顺序和表中列的顺序一致
②INSERT INTO 表名 SET 列名=值,列名=值,…
tips:
①INSERT INTO 表名(列名…) values (值…),(值…)…支持插入多行
②支持子查询,借助select查询的结果插入数据
即: INSERT INTO 表名(列名…) SELECT 语句
③可以借助UNION连接多条SELECT语句实现多行插入
修改:UPDATE
①修改单表的记录
UPDATE 表名 SET 列名=新值,列名=新值… WHERE 筛选条件
②修改多表的记录
sql92:
UPDATE 表1,表2 SET 列名=新值 WHERE 连接条件 AND 筛选条件
sql99:
UPDATE 表1 INNER|LEFT|RIGHT JOIN 表2 ON 连接条件 SET 列名=新值 WHERE 筛选条件
删除:DELETE/TRUNCATE
①单表的删除
DELETE FROM 表名 WHERE 筛选条件 #删除多行
TRUNCATE TABLE 表名 #删除表中所有数据
②多表的删除
sql92:
DELETE 表名 FROM 表1,表二 WHERE 连接条件 AND 筛选条件
sql99:
DELETE 表名 FROM 表1 INNER|LEFT|RIGHT JOIN 表2 ON 连接条件 WHERE 筛选条件
ps:
①对于具有自增长列的表,delete删除后,自增长值从断点(未删除前最后一列值+1)开始,truncate删除后,自增长值从1开始
②truncate 删除后没有返回值,delete删除后有返回值(删除行数)
③truncate 删除后不能回滚,delete删除可以回滚
④truncate效率高,不能用where进行筛选