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.插入记录 插入一条 ...
随机推荐
- Blazor 在开发环境保存机密(User Secrets)
前言 在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如微信appkey, 连接字符串,加密密钥,字符串,或者是用户名密码等.通常的做法是保存到一个配置文件中,例如 appsetti ...
- git的.gitignore文件内容
**/pom.xml.versionsBackup **/target/ **/out/ *.class # Mobile Tools for Java (J2ME) .mtj.tmp/ .idea/ ...
- Unity—2D边缘检测(描边效果)
一.ShaderLab 1.Alpha值边缘检测 根据图片的Alpha值边缘判定,向内扩一段距离做边缘,颜色设置未描边颜色: 片元着色阶段,向上下左右四个方向做检测,有一个点的透明度为0,判定为边缘: ...
- 快速排序算法 - go实现
在分析redis集群中大Key的时候,通常都采用分析rdb文件的方式:但是这种方式需要在每一台redis服务器上部署分析程序及分析脚本,而像salt之类的工具运维没有开放给我们使用,一台一台部署不好管 ...
- 新手入门C语言第八章:C循环
一.C 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推.编程语言提供了更为复杂执行路径的多种控制结构.循环语句允许 ...
- 基础学习:MYSQL命令大全(持续更新中---最近一次:2019.12.6)
启动mysql : mysql -hlocalhost -uroot -p创建数据库:create database 数据库名字;指定要操作的数据库:use 数===据库名字;查看数据表建表语句:sh ...
- 2003031121-浦娟-python数据分析五一假期作业
项目 内容 课程班级博客链接 20级数据班(本) 这个作业要求链接 Python作业 博客名称 2003031121-浦娟-python数据分析五一假期作业 要求 每道题要有题目,代码(使用插入代码, ...
- Linux-进程工具
1.进程树 pstree pstree 可以用来显示进程的父子关系,以树形结构显示 格式: pstree [OPTION] [ PID | USER ] 常用选项: -p 显示PID -T 不显示线程 ...
- Elasticserach学习笔记(一)
1.什么是Elasticserach? 一个由Java语言开发的全文搜索引擎,全文检索就是根据用户输入查询字符的片段,能查询出包含片段的数据,简单来说就是一个分布式的搜索与分析引擎,它可以完成分布式部 ...
- CentOS7安装部署Mongodb
1.下载安装包 打开官网,跳转至下载界面,选择对应版本的安装包,拷贝其链接,这里是手动安装,所以下载tgz安装包,如果要自动化安装,选择server的rpm自动安装包 https://www.mong ...