本文摘自PHP中文网,作者coldplay.xixi,侵删。
免费学习推荐:mysql视频教程
文章目录
- 一、插入insert
- 二、修改update
- 三、删除delete/truncate
- 四、DML语句练习题
一、插入insert
方式一:insert into 表名(列名,...) values(值1,...);
方式二: insert into 表名 set 列名=值,列名=值...
比较 | 是否支持插入多行 | 是否支持子查询 |
---|---|---|
方式一 | √ | × |
方式二 | √ | × |
1 |
|
二、修改update
1、修改单表的记录语法:
update 表名
set 列=新值,列=新值,...
where 筛选条件;
执行顺序:update > where > set
2、修改多表的记录语法:update 表1 别名
[inner|left|right] join 表2 别名
on 连接条件
set 列=新值,列=新值,...
where 筛选条件;
1 2 |
|
三、删除delete/truncate
delete
单表删除:delete from 表名 where 筛选条件
多表删除:delete 表1别名,表2别名
from 表1 别名
inner|left|right join 表2 别名 on 连接条件
where 筛选条件;
truncate
清空单表:truncate table 表名;
注意:truncate删除没有返回值,delete删除有返回值。
比较 | 是否可以加where条件 | 是否可以回滚 | 是否有返回值 | 效率 | 表中有自增长列时 |
---|---|---|---|---|---|
delete | √ | √ | √ | 一般 | 用delete删除,再插入数据,自增长的值从断点开始 |
truncate | × | × | × | 略高于delete | 用truncate删除,再插入数据,自增长的值从1开始 |
1 |
|
四、DML语句练习题
学习了DML语言语句的增删改,尝试完成下面的习题:
答案:1、执行下面的sql语句
CREATE TABLE my_employees(
Id INT(10),
First_name VARCHAR(10),
Last_name VARCHAR(10),
Userid VARCHAR(10),
Salary DOUBLE(10,2)
);
CREATE TABLE users(
id INT,
userid VARCHAR(10),
department_id INT
);2.
DESC my_employees3.
方式一:
INSERT INTO my_employees
VALUES(1,‘patel’,‘Ralph’,‘Rpatel’,895),
(2,‘Dancs’,‘Betty’,‘Bdancs’,860),
(3,‘Biri’,‘Ben’,‘Bbiri’,1100),
(4,‘Newman’,‘Chad’,‘Cnewman’,750),
(5,‘Ropeburn’,‘Audrey’,‘Aropebur’,1550);
TRUNCATE TABLE my_employees;
方式一:
INSERT INTO my_employees
SELECT 1,‘patel’,‘Ralph’,‘Rpatel’,895 UNION
SELECT 2,‘Dancs’,‘Betty’,‘Bdancs’,860 UNION
SELECT 3,‘Biri’,‘Ben’,‘Bbiri’,1100 UNION
SELECT 4,‘Newman’,‘Chad’,‘Cnewman’,750 UNION
SELECT 5,‘Ropeburn’,‘Audrey’,‘Aropebur’,1550;4.
INSERT INTO users
VALUE(1,‘Rpatel’,10),
(2,‘Bdancs’,10),
(3,‘Bbiri’,20),
(4,‘Cnewman’,30),
(5,‘Aropebur’,40);5.
UPDATE my_employees
SET Last_name=‘drelxer’
WHERE id=3;6.
UPDATE my_employees
SET salary=1000
WHERE salary<900;7.
DELETE u,e
FROM users u
JOIN my_employees e ON u.userid=e.userid
WHERE u.userid=‘Bbiri’;8.
DELETE FROM my_employees;
DELETE FROM users;9.
SELECT * FROM my_employees;
SELECT * FROM users;10.
TRUNCATE TABLE my_employees;
更多相关免费学习推荐:mysql教程(视频)
以上就是MySQL精讲之二:DML数据操作语句的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。