MySQL精讲之二:DML数据 *** 作语句

MySQL精讲之二:DML数据 *** 作语句,第1张

概述MySQL精讲之二:DML数据 *** 作语句

免费学习推荐:mysql视频教程

文章目录

一、插入insert二、修改update三、删除delete/truncate四、DML语句练习题

一、插入insert

方式一:insert into 表名(列名,...) values(值1,...);
方式二: insert into 表名 set 列名=值,列名=值...

比较是否支持插入多行是否支持子查询
方式一×
方式二×
【插入方式一】# 1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(ID,name,sex,borndate,phone,photo,boyfrIEnd_ID)VALUE(13,'双笙','女','1999-02-15','13868666666',NulL,2);# 2.列的顺序可以调换INSERT INTO beauty(name,ID,sex,borndate,phone,photo,boyfrIEnd_ID)VALUE('徐婕',14,'女','1999-02-16','13868666661',NulL,2);# 3.可以省略列名,列的顺序和表中列的顺序一致INSERT INTO beautyVALUE(16,'金克斯','女','2000-02-16','13868666661',NulL,2);# 4.支持子查询INSERT INTO beauty(ID,name,phone)SELECT ID,boyname,'110'FROM boys WHERE ID<3; # 本例需将beauty表的主键删除---------------------------------------------------------------【插入方式二】INSERT INTO beauty SET ID=19,name='花花',phone='666';

二、修改update

1、修改单表的记录语法:

update 表名
set 列=新值,列=新值,...
where 筛选条件;

执行顺序:update > where > set

2、修改多表的记录语法:
update 表1 别名
[inner|left|right] join 表2 别名
on 连接条件
set 列=新值,列=新值,...
where 筛选条件;

【修改单表的记录】# 修改beautty表中姓周的女生电话为15888888888UPDATE beautySET phone='15888888888'WHERE name liKE '%周%';【修改多表的记录】# 将张无忌的女朋友的电话号改为2333UPDATE boys b1JOIN beauty b2 ON b1.ID=b2.boyfrIEnd_IDSET b2.phone='2333'WHERE b1.boyname='张无忌';

三、删除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开始
【delete】# 1.单表删除# 删除以9结尾的女生信息DELETE FROM beauty WHERE phone liKE '%9';# 2.多表删除# 删除黄晓明的信息以及他女朋友的信息DELETE b1,b2FROM beauty b1INNER JOIN boys b2ON b1.boyfrIEnd_ID=b2.IDWHERE b2.boyname='黄晓明';【truncate】# 仅支持单表删除全部数据TruncATE table boys;

四、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_employees
3.
方式一:
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精讲之二:DML数据 *** 作语句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1150183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存