DML数据操作语言
- 插入 INSERT
- 修改 UPDATE
- 删除 DELETE
插入语句
方式一
INSERT INTO 表名(列名,...) VALUES(值1,...)
#向students中插入信息
INSERT INTO students(id,name,brithdate,phone) VALUES
(111,\'张三\',\'1999-1-1\',\'123145124\'),
(222,\'李四\',\'1999-2-1\',\'123145124\'),
(333,\'王五\',\'1999-3-1\',\'123145124\');
#子查询
INSERT INTO students(id,name,brithdate,phone)
SELECT 111,\'张三\',\'1999-1-1\',\'123145124\';
方式二
INSERT INTO 表名
SET 列名=值,列名=值,...
#向students中插入信息
INSERT INTO students
SET id=\'111\',name=\'张三\',birthdate=\'1999-1-1\',phone=\'13213213\';
注意
- 一次插入多行使用逗号分隔
- 列名与值一一对应
- 字符串用单引号括起来
- 方式一支持插入多行和子查询,而方式二不支持
修改语句
单表的修改
UPDATE 表名
SET 列名=新值,列名=新值
WHERE 筛选条件
#将students中小明的电话改为110,birthdate改为\'2000-1-1\'
UPDATE students
SET phone=\'110\',birthdate=\'2000-1-1\'
WHERE name=\'小明\';
多表的修改
UPDATE 表1
连接类型 表2
ON 连接条件
SET 列=新值,列=新值...
WHERE 筛选条件
删除语句
DELETE
DELETE FROM 表名
WHERE 筛选条件
DELETE 表1,表2
FROM 表1
连接类型 表2
ON 连接条件
WHERE 筛选条件
#删除姓王的所有学生
DELETE FROM students
WHERE name LIKE \'王%\';
TRUNCATE
TRUNCATE TABLE 表名
#删除所有学生
TRUNCATE TABLE students;
注意
- DELETE可以加筛选条件而TRUNCATE不可以
- TRUNCATE删除后自增长列从零开始,DELETE删除后自增长列从断点开始
- DELETE有返回值,TRUNCATE没有返回值
- TRUNCATE可以回滚,DELETE不可以