MySQL DML数据操纵语言

DML 数据操纵语言

前言

DML(Data Manipulation Language),主要为插入、修改、删除。

一、DML

1)插入

插入数据
语法1
insert into table(列名,。。。) values(。。。)
:table中的数和values中的列数相等,当table中的列名顺序列举完时,可省略.
语法2
insert into table set field = value,....
总结:语法1 可支持一次插入多条数据,可支持子查询。

USE girls;
INSERT INTO beauty ( id, `name` )
VALUES
	( 13'李清照' );# set 方式
INSERT INTO beauty 
SET id = '14',
`name` = '慈禧太后'# 语法1结合子查询
INSERT INTO beauty ( id, `name` ) SELECT
15,
'宋茜';

A)一次多插

INSERT INTO beauty ( id, `name` ) SELECT
id,
boyName 
FROM
	boys 
WHERE
	id > 2;

B)一次多插

USE girls;
INSERT INTO boys ( boyName, userCP )
VALUES
	( 'll', 100 ),
	( 'ss', 200 );

2)修改

修改语句
一、修改单表的数据
语法:

update table
set field = newValue,...
where id = value

二、修改多表的数据(级联更新)
语法:

update1 别名
join2 别名
on 连接条件
set=值,....
where 筛选条件

例1)修改beauty表中id=1的电话号码为88888888

USE girls;
UPDATE beauty 
SET phone = '88888888' 
WHERE
	id = 1;# 修改多表

例2)修改张无忌的女朋友的电话号码为110

UPDATE boys b
INNER JOIN beauty bo ON bo.id = b.boyfriend_id 
SET phone = '110' 
WHERE
	b.boyName = '张无忌';

3)删除

删除语句,删除的基本单位为一行即一条记录
1.单表的删除
语法:
delete from 表名 where 筛选条件
2. 多表的删除
语法:
sql99:

delete1的别名 |2的别名
from1 别名
[连接方式]join2 别名
on 连接条件
where 筛选条件
  1. 其它delete
truncate table 表名
删除整个表 # 单表的删除

例1)删除手机号码为‘110’的女生

DELETE 
FROM
	beauty 
WHERE
	phone = '110';# 多表级联删除

例2)删除张无忌及其所有女朋友

DELETE a,
b 
FROM
	boys a
	INNER JOIN beauty b ON a.id = b.boyfriend_id 
WHERE
	a.boyName = '张无忌';

4)delete 和 truncate 的区别(常见面试题)

1.delete 可以有条件的删除一行或多行,truncate只能删完
2.truncate一下删完,没有条件,所以效率高一些。
3.delete删后,insert 数据,字段的自增长从增长停止处开始,说明delete不会导致计数器清零。
4.truncate 没有返回值,delete会返回删了多少行
5.truncate删除没有rollback,delete可以回滚。

总结

1)增加、修改、删除

参考文献

[1] MySQL 尚硅谷

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值