Mysql之DML操作汇总(INSERT,UPDATE,DELETE)

DML语言

解释

DML是Data Manipulation Language的缩写,意思是数据操纵语言,是指在SQL语言中,负责对数据库对象运行数据访问,工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令。

理解

DML语言是站在数据层面上
INSERT(插入)把数据插入表格中。
UPDATE(更新)更新表格中的数据。
DELETE(删除)删除表格中的数据。
(本人一点见解,若有什么错误或者问题请在评论区留言,或者私聊)
附上beauty表和boys表

beauty表:
在这里插入图片描述boys表:
在这里插入图片描述

一,插入(INSERT)

方式一

语法:
INSERT INTO 表名(列名1,列名2,列名3,...VALUES(值1,2,3,...;

#例:往beauty表中插入值
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','123465',NULL,2);

方式一支持多行插入:

#例:往beauty表中插入多行值
INSERT INTO beauty
VALUES(14,'唐艺昕1','女',null,'1313',NULL,2)
,(23,'唐艺昕2','女',null,'1313',NULL,2)
,(33,'唐艺昕3','女',null,'1313',NULL,2);

也支持子查询插入

#例:往beauty表中插入查找值
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'宋茜','111082';

说明:
数据来源select语句可以有很多种写法,需要注意:select返回的结果和插入数据的字段数量、顺序、类型需要一致。

方式二

INSERT INTO 表名
SET 列名1=1,列明2=2;

#例:往beauty表中插入值
INSERT INTO beauty
SET id=19,name ='刘涛',phone='999';

方式二不支持多行插入和子查询插入。

二,修改(UPDATE)

修改有两种方式:一种是单表修改,另一种是多表修改。

1,单表修改

语法:
UPDATE 表面
SET 列名1=新值1,列名2=新值2 ....
WHERE 筛选条件;

#例:修改beauty表中性唐的女神的电话为13899988899
UPDATE beauty
SET phone='13899988899'
WHERE NAME LIKE '唐%'

2,多表修改

多表的修改有两个标准:
SQL92标准
SQL99标准

#sql92语法:
UPDATE1 别名,表2 别名
SET列名1=新值1,列名2=新值2 ....
WHERE 连接条件
AND 筛选条件;

#例:修改张无忌的女朋友的手机号为114
UPDATE boys bo,beauty be
SET phone='114'
WHERE bo.id=be.boyfriend_id
AND boyName='张无忌';

#sql99语法
UPDATE 表一 别名
INNER||LEFT||RIGHT JOIN2 别名
ON 连接条件
set 列名1=新值1,列名2=新值2 ....
WHERE 筛选条件;

#例:修改张无忌的女朋友的手机号为114
UPDATE boys bo
INNER JOIN beauty be
ON bo.id=be.boyfriend_id
SET phone='114'
WHERE boyName='张无忌';

三,删除(DELETE)

删除有三种方式:
第一种:单表删除。
第二种:多表删除。
第三种:TRUNCATE将整个表的数据全部删除,只保留表的结构,但TRUNCATE不属于DML语言属于DDL语言。(谨慎使用)

1,单表删除

#语法:
DELETE FROM 表名 WHERE 筛选条件

#例:删除手机号以9结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9';

2,多表删除

多表的删除有两个标准:
SQL92标准
SQL99标准

#sql92语法:
DELETE1的别名
FROM1 别名,表2 别名
WHERE 连接条件
AND 筛选条件;
#例:删除张无忌的女朋友信息
DELETE b
FROM beauty b,boys bo
WHERE b.boyfriend_id=bo.id
AND bo.boyName='张无忌';

#sql99语法:
DELETE1的别名
FROM1 别名
INNER||LEFT||RIGHT JOIN2 别名
ON 连接条件
WHERE 筛选条件;
#例:删除张无忌的女朋友信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=bo.id
WHERE bo.boyName='张无忌';

3,TRUNCATE

#语法:
TRUNCATE TABLE 表名

#例:清空boys表
TRUNCATE TABLE boys;

猜你喜欢

转载自blog.csdn.net/Clanno/article/details/114077061