MySQL-3-DML
DML 数据操作语言
插入insert
- 语法一:
insert into 表名(列名,...)values(值1,...); - 语法二:insert into 表名 set 列名=值,列名=值,...
- 插入的值的类型要与列的类型一致或兼容
# 语法一:支持多行插入;语法二不支持
INSERT INTO beauty VALUES
(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2),
(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2),
(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);
# 语法一:支持子查询,语法二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'宋茜','11809866';
INSERT INTO beauty(id,NAME,phone)
SELECT id,boyname,'1234567' FROM boys WHERE id<3;
删除delete,truncate
- 删除-->语法1:
delete from 表名 where 筛选条件 - 删除-->语法2:
truncate(截断) table 表名:删除整张表
# 删除手机号带9的女生信息
DELETE FROM beauty WHERE phone LIKE '%9%';
- 多表删除,语法:
sq192语法:
# 删除表1的信息就是 delete 表1的别名 ...
# 删除表2的信息就是 delete 表2的别名 ...
# 两个表信息都删除则 delete 表1的别名 表2的别名 ...
delete 表1的别名,表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件;
sq199语法:
delete 表1的别名,表2的别名 from 表1 别名 inner|left|right join 表2别名 on 连接条件 where 筛选条件;
## 例子:
# 多表删除:删除张无忌的女朋友 只删除女朋友信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName` = '张无忌';
# 删除黄晓明的信息以及他女朋友的信息
DELETE bo,b
FROM boys bo
INNER JOIN beauty b
ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName` = '黄晓明';
truncate和delete区别
delete可以加where条件,truncate不能加truncate删除,效率高一点- 假如要删除的表中有自增长列,如果用
delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。 truncate删除没有返回值,delete删除有返回值truncate删除不能回滚,delete删除可以回滚
CREATE TABLE major(
id INT,
mName VARCHAR(20)
);
# 使用delete 删除后 同时用回滚操作,则数据没有被删除
SET autocommit = 0;
START TRANSACTION;
DELETE FROM major
ROLLBACK
# 使用truncate 删除后 同时用回滚操作,则数据被删除
SET autocommit = 0; # 关闭事务的自动提交
START TRANSACTION; # 开始事务
TRUNCATE TABLE major; #删除表中所有数据
ROLLBACK # 回滚
修改update
- 修改单表,语法:
update 表名 set 列=新值,列=新值,... where 筛选条件; - 修改多表,语法:
/*
sq192语法:
update 表1 别名,表2 别名
set 列=值,.…
where 连接条件 and 筛选条件;
sq199语法:
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,.…
where 筛选条件
*/
# 修改多表 例子:
# 修改
# 1. 修改张无忌的女朋友的手机号为110
UPDATE boys bo, beauty b
SET phone = 110
WHERE bo.`id` = b.`boyfriend_id` AND b.`boyfriend_id`= (
SELECT `id` FROM boys WHERE boyName = '张无忌'
);
# 2. 修改没有男朋友的女生,让其男朋友编号都为2号
UPDATE beauty b
LEFT JOIN boys bo
ON b.`boyfriend_id` = bo.`id`
SET b.`boyfriend_id` = 2
WHERE b.`boyfriend_id` IS NULL
MySQL-3-DML的更多相关文章
- [Sqoop]利用sqoop对mysql运行DML操作
业务背景 利用sqoop对mysql进行查询.加入.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...
- 利用sqoop对mysql执行DML操作
业务背景 利用Sqoop对MySQL进行查询.添加.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...
- MySQL的DML常用语法格式
MySQL的DML常用语法格式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道MySQL的查询大致分为单表查询,多表查询以及联合查询.多表查询,顾名思义,就是查询的结果可能 ...
- MySQL的DML语言(增删改)
MySQL的DML语言(增删改) 补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行( ...
- MySQL之DML语句(insert update delete)
DML主要针对数据库表对象的数据而言的,一般DML完成: 插入新数据 修改已添加的数据 删除不需要的数据 1.insert into插入语句 //主键自增可以不插入,所以用null代替 ); //指定 ...
- (MariaDB/MySQL)之DML(1):数据插入
本文目录: 1.insert和replace插入数据 1.1 insert into values() 1.2 insert into set 1.3 insert into select_state ...
- (MariaDB/MySQL)之DML(2):数据更新、删除
本文目录:1.update语句2.delete语句 2.1 单表删除 2.2 多表删除3.truncate table 1.update语句 update用于修改表中记录. # 单表更新语法: UPD ...
- mysql语句-DML语句
DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...
- Mysql笔记——DML
数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作. ========================== 1 插入数据 语法:INSER ...
- MySQL基础 (DML)
DML语句 DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查询(select) 1.插入记录 插入一条 ...
随机推荐
- 正则表达式小技巧,sql中in的字符串处理
工作中我经常写sql,当写带in的语句时,需要敲好多单引号,逗号,敲写起来容易易出错.因此,我写了一个小工具,处理这种繁琐工作.原理简单,利用正则表达式匹配.替换. 先看界面,一个html页面,包含三 ...
- Python 康德乐大药房网站爬虫,使用bs4获取json,导入mysql
自学两天,写个low点的爬虫代码.自己获取商品价格接口的过程,使用软件 Fiddler 进行抓包进行分析.调用接口进行异常判断
- Java语言学习day35--8月10日
今日内容介绍1.集合2.Iterator迭代器3.增强for循环4.泛型 ###01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public static ...
- 2021.11.09 P3426 [POI2005]SZA-Template(KMP+DP)
2021.11.09 P3426 [POI2005]SZA-Template(KMP+DP) https://www.luogu.com.cn/problem/P3426 题意: 你打算在纸上印一串字 ...
- 【GPLT】 紧急救援(c++)
题目: 本题使用Dijkstra算法,但在模板上进行了一定的扩展,是一道不错的最短路题目. AC代码: 1 #include<iostream> 2 #include<cmath&g ...
- Infrastructure 知识: dnf对module的处理
引言 从RHEL8/CentOS8开始,dnf取代yum作为rpm 包管理工具.与之而来的还有模块(module)这个东西. 有了它们的加持,让在同一个OS上安装不同版本的软件或者开发语言的工作比之前 ...
- XCTF练习题---MISC---gif
XCTF练习题---MISC---gif flag:flag{FuN_giF} 解题步骤: 1.观察题目,下载附件 2.观察下载的附件,发现是由黑白块组成的,试着拼接二维码,好像不太对,再仔细看看感觉 ...
- Vue.js 3.x 双向绑定原理
什么是双向绑定? 废话不多说,我们先来看一个 v-model 基本的示例: <input type="text" v-model="search"> ...
- Android 4.4系统,User模式adb默认开启,取消授权,开启root调试记录
开启User模式adb,取消授权,修改如下: 1. /build/core/main.mk 修改以下内容 ifeq (true,$(strip $(enable_target_debugging)) ...
- Java操作Hadoop、Map、Reduce合成
原始数据: Map阶段 1.每次读一行数据, 2.拆分每行数据, 3.每个单词碰到一次写个1 <0, "hello tom"> <10, "hello ...