DML:Data Manipulation Lanuage,数据操作语言
分增删改三类
增:INSERT
改:UPDATE
删:DELETE
一、插入语句
【语法方式一】:INSERT INTO 表名 (列名..) VALUES (值...)
【注意事项】:
1、插入的值的类型与列的类型一致或兼容
2、不可以为Null的列必须插入值,可以为Null的列可以不插入,默认值为Null,或者插入 Null
【例】:
INSERT INTO boys (id, name) values (1, '张三');
INSERT INTO boys (id, name) values (1, null);
3、列的顺序可以调换,但是,要注意第一条:列与值的类型一致
4、可以省略列名,这样会默认插入所有列,而且查询的顺序和表中列的顺序一致
【例】:
INSERT INTO beauty VALUES (18, '张飞', '男', null, 119, null, null);
【语法方式二】:INSERT INTO 表名 SET 列名=值,列名=值 ......
【例】:
INSERT INTO boys SET id=19, name='张飞';
两种插入方式的对比
1、方式一支持插入多行,方式二不支持
INSERT INTO beauty VALUES (18, '张飞', '男', null, 119, null, null)
, (18, '张飞', '男', null, 119, null, null)
, (18, '张飞', '男', null, 119, null, null);
2、方式一支持子查询,方式二不支持
二、修改语句
1、修改单表的记录
【语法】:
UPDATE 表名
SET 列=新值, 列=新值, ........
WHERE 筛选条件;
2、修改多表的记录
【语法】:
sql92语法:
UPDATE 表1 别名, 表2 别名
SET 列=值......
WHERE 连接条件 AND 筛选条件;
sql99语法:
UPDATE 表1 别名
inner|left|right JOIN 表2 别名
SET 列=值.......
WHERE 筛选条件;
三、删除语句
方式一:DELETE 关键字
【语法】:
1、单表的删除
DELETE FROM 表名 WHERE 筛选条件;
2、多表的删除
sql92语法:
DELETE 别名1,别名2
FROM 表1 别名1,表2 别名2
WHERE 连接条件 AND 筛选条件;
【注】:DELETE 后面可以只写别名1或者别名2
sql99语法:
DELETE 别名1,别名2
FROM 表1 别名1 INNER|LEFT|RIGHT JOIN 表2 别名2 ON 连接条件
WHERE 筛选条件
LIMIT 条目数
方式二:TRUNCATE 关键字
【语法】:
TRUNCATE 表名;
DELETE与TRUNCATE的对比
1、DELETE 可以加 WHERE,TRUNCATE 不能加
2、TRUNCATE 删除效率高一丢丢
3、假如删除的表中有自增长列
用DELETE 删除后,再插入数据,自增长列的值从断点开始
用TRUNCATE 删除周,再插入数据,自增长列的值从1开始
4、TRUNCATE 删除不能回滚,DELETE删除可以回滚
5、TRUNCATE无返回值,DELETE返回删除的条数