【大数据系列之MySQL】(二十九):MySQL中的DML语言

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 【大数据系列之MySQL】(二十九):MySQL中的DML语言

一、插入操作

方式一

insert into 表名 (列名, ...) values(值1, ...)
# 增加一条数据
insert into employees(last_name, salary, age) values('Tom', 1800, 20)
# 同时增加多条数据
insert into employees(last_name, salary, age)
values('Tom', 1800, 20),('Mack', 2300, 30),('Adam', 3000, 18)
# 如果有字段为可空(salary可空)
insert into employees(last_name, salary, age) values('Tom', NULL, 20)
insert into employees(last_name, age) values('Tom', 20)
# 如果是全部字段都有值,可以省略字段名
insert into employees values('Tom', 1800, 20)
# 字段名的顺序可以改变
insert into employees(salary, last_name, age) values(1800, 'Tom', 20)
# 子查询
insert into employees(last_name, salary, age)
select 'Bob', 3200, 24

方式二

insert into 表名
set 列名=值, 列名=值,...
insert into employees
set last_name='Tom', salary=1800, age=20
  • 方式一支持插入多行,方式二不支持
  • 方式一支持子查询,方式二不支持

二、修改操作

1.修改单表的记录

update 表名
set 列=新值,...
where 筛选条件
# 修改beauty表中姓唐的女神的电话
update beauty
set phone=99999
where NAME like '唐%'

2.修改多表的记录

方式一:sql92语法

update 表1 别名, 表2 别名
set 列=新值,...
where 连接条件
and 筛选条件
# 修改张无忌的女朋友的手机号为114
update beauty b, boys bo
set b.phone=114
where bo.id = b.boyfriend_id 
and bo.boyName='张无忌'

方式二:sql99语法

update 表1 别名
【连接类型】 JOIN 表2 别名
on 连接条件
set 列=新值
where 筛选条件
# 修改张无忌的女朋友的手机号为114
update beauty b
JOIN boys bo
on bo.id = b.boyfriend_id
set b.phone=114
where bo.boyName='张无忌'

三、删除操作

# 清空表数据,但不会删除表结构
delete from 表名

方式一

1.单表删除

delete 
from 表名
where 筛选条件
# 删除手机号以9结尾的女神信息
delete
from beauty
where phone like '%9'

2.多表删除

sql92语法

delete 表1的别名, 表2的别名(删除哪个表写哪个表)
from 表1 别名, 表2 别名
where 连接条件
and 筛选条件
# 删除张无忌的女朋友的信息
delete b
from boys bo, beauty b
where bo.id = b.boyfriend_id 
and bo.boyName='张无忌'

sql99语法

delete 表1的别名, 表2的别名((删除哪个表写哪个表))
from 表1 别名
【连接类型】 JOIN 表2 别名
on 连接条件
where 筛选条件
# 删除张无忌的女朋友的信息
delete b
from boys bo
JOIN beauty b
on bo.id = b.boyfriend_id 
where bo.boyName='张无忌'

方式二

# 清空表
truncate table 表名
  • delete可以加where条件,truncate不能加
  • truncate删除,效率会高
  • 使用delete删除后,再增加数据从断点开始,使用truncate删除,再插入数据从1开始
  • delete有返回值(几行受影响),truncate没有返回值
  • truncate删除不可以回滚,delete删除可以回滚


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks支持将ODPS表拆分并回流到MySQL的多个库和表中
【2月更文挑战第14天】DataWorks支持将ODPS表拆分并回流到MySQL的多个库和表中
59 8
|
3月前
|
SQL 关系型数据库 MySQL
【MySQL】学习如何通过DML更新数据库的数据
【MySQL】学习如何通过DML更新数据库的数据
129 0
|
3月前
|
关系型数据库 MySQL Serverless
高顿教育:大数据抽数分析业务引入polardb mysql serverless
高顿教育通过使用polardb serverless形态进行数据汇总,然后统一进行数据同步到数仓,业务有明显高低峰期,灵活的弹性伸缩能力,大大降低了客户使用成本。
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
31 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
51 0
|
1月前
|
SQL 存储 关系型数据库
【MySQL 数据库】1、MySQL 的 DDL、DML、DQL 语句
【MySQL 数据库】1、MySQL 的 DDL、DML、DQL 语句
52 0
|
3月前
|
存储 关系型数据库 MySQL
Mysql 存储大数据量问题
Mysql 存储大数据量问题
96 1
|
13天前
|
SQL 关系型数据库 MySQL
DQL语言之基础查询(mysql)
DQL语言之基础查询(mysql)
|
13天前
|
SQL 关系型数据库 MySQL
DQL语言之常见函数(mysql)
DQL语言之常见函数(mysql)
|
13天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)