MySQL基础之DML语句

MySQL基础4】DML详解 DML 阅读详情

DML 语句

DML(Data Manipulation Language)语句:数据操纵语句。

用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性。

常用关键字:insert、update、delete、select等。

DML 操作的对象是库表的数据(记录)

主要包括插入(insert)、更新(update)、删除(delete)和查询(select)。

DML 语句是开发人员使用最频繁的操作。

1.插入记录

插入一条记录

insert into tablename (field1,field2,...,fieldn) values (value1,value2,...,valuen);

一次性插入多条数据

insert into tablename
 (field1,field2,...,fieldn)
values
 (value1,value2,...,valuen),
 (value1,value2,...,valuen);

2.更新记录

更新单表数据

update tablename set field1=value1,filed2=value2,...fieldn=valuen [where condition]

同时更新多个表的数据

update t1,t2,...,tn set t1.field1=expr1,tn.field=exprn [where condition];

通常用于根据一个表的字段来动态地更新另外一个表的字段

 在此说明:中括号 “[ ]” 代表的是可选参数,即可有可无的参数。

3.简单查询记录

简单的条件查询。符号“*”代表查询所有字段,如果只想看其中某些列,则写表的列名。

select * from tablename [where condition];
select field1,field2,...,fieldn from tablename [where condition];

别名

    给列名表名取别名的关键字:AS 或者不写关键字。如:

select field1 AS f1,field2 f2  from tablename;
select t2.field1 AS f1,t1.field2 f2  from table1 as t1,table2 t2;

不取别名,则查询结果的列名为表原本的列名;

取别名,则查询结果的列名为别名

4.删除记录

删除单表记录

delete from tablename [where condition];

同时删除多个表的数据

delete t1,t2,...,tn from t1,t2,...,tn [where condition];

说明:不加where 条件则删除全表数据

单表“增改查删”操作案例:

多表“删除”操作案例:

  再看个删除案例

 最后再看个删除案例

  多表删除结论:

  条件成立,则删除有条件表的对应数据,没条件的则全表删除;

  条件不成立,则都不删除。

留个疑问:多表删除不给where 条件会怎样呢?

关于同时更新多个表数据的操作,可以自行探索,毕竟有思考的学习最有价值。

5.查询记录详解(DQL语句)

DQL(Data Query Language)即数据库查询语言。

数据库查询语句就像玩积木一样,一块一块的拼凑,每个中括号“[]”代表一块积木。

先通过递进的方式一条一条列出查询语法。

5.1.查询不重复的记录

select distinct filed from tablename;

distinct 关键字是对 “查询结果集” 去重,再看个例子就明白了。

5.2.条件查询

--查询所有列:
select * from tablename [where condition];
--查询指定列:
select [field1,field2,...,fieldn] from tablename [where condition];

常用的条件(condition)

复制代码

等于:field = xxx
大于:field > xxx
小于:field < xxx
不等于:field != xxx
不等于:field <> xxx
等于null:field is null
不等于null:field is not null
多个条件之间用逻辑运算符:and 和 or 
模糊查询之"_":field like _x_xx_     符号"_"代表匹配单个任意字符,可以在你喜欢的字符旁加上"_"
模糊查询之"%":field like %x%xx%     符号"%"代表匹配0~n个任意字符,可以在你喜欢的字符旁加上"%"
in语句查询:field in(value1,value2,...)  查询field 和 in 数组配得上的,不配就没有数据
not in语句查询:field not in(value1,value2,...)   查询field 和 in 数组配不上的,不配就有数据

复制代码

其它常用条件具体怎么用,参考常用条件去操作。

5.3.聚合查询

复制代码

--最简单的聚合查询:
select [field1,field2,...,fieldn] fun_name from tablename group by field;
--完整语法:
select [field1,field2,...,fieldn] fun_name from tablename
 [where condition]
 [group by field1,field2,...,fieldn [with rollup]]
 [having condition];

复制代码

说明:

fun_name  表示聚合函数,常用有:求和sum()、记录数count(*)、平均值avg()、最大值max()、最小值min();
[where condition] 就是上面讲的条件查询;
[group by field1,field2,...,fieldn [with rollup]] 
  group by 关键字表示对field字段进行分类聚合;
  with rollup 关键字表示是否对分类聚合后的结果进行再汇总
[having condition] 对分类聚合后的查询结果集进行条件的过滤
where 和 having 的区别:
  1. where 是分组的条件过滤;having 是分组的条件过滤。

  2. where 是用原表列名条件过滤;having 是用查询结果集列名条件过滤

    优先选择where 条件过滤,这样可以减少结果集,进而提高分类聚合的效率。

中括号"[]"代表可选的意思,也就是说group by 前面的[where condition] 可有可无,后面的[with rollup] 和 [having condition] 也是可有可无。

group by 和distinct 的区别:    group by 是对指定进行分组;distinct 是对查询结果进行去重。

加入where 和 having的例子:

列名为avg(stu_age) 看着有点怪怪,给他取个别名就一目了然:

5.4.排序查询

复制代码

--最简单的排序查询:
select * from tablename order by field;
--完整语法:
select [field1,field2,...,fieldn] fun_name from tablename
 [where condition]
 [group by field1,field2,...,fieldn [with rollup]]
 [having condition]
 [order by field1 [desc|asc], field2 [desc|asc],...,fieldn [desc|asc]];
DESC 代表降序(从大到小);ASC 代表升序(从小到大),asc为默认排序。也就是说你只要记住desc 就可以了。碰巧的是desc 是查询表设计的关键字,而且语法很简单:desc tablename;

复制代码

单列排序:

多列排序:用符号 “,” 隔开即可

5.5.limit查询

  又称为限制查询、范围查询、分页查询

复制代码

--最简单的limit查询:offset_start和数组下标一样,从0开始算
select * from tablename limit offset_start,row_count;
--完整语法:这条sql是单表查询的完整版
select [field1,field2,...,fieldn] fun_name from tablename
 [where condition]
 [group by field1,field2,...,fieldn [with rollup]]
 [having condition]
 [order by field1 [desc|asc], field2 [desc|asc],...,fieldn [desc|asc]]
 [limit offset_start,row_count];

复制代码

例子1:从第1条开始,查询两条数据

例子2:从第2条开始,查询两条数据

=========================
= 以上就是关于单表查询的语法 =
= 以下则是关于两表联查的语法 =
=========================

5.6.连查询

在需要关联多个表数据时使用。 学习左连接和内连接即可。

左连接:选出左表所有的记录,不管右表有没有和它匹配;左表是主,关联右表信息

select * from t1 left join t2 on t1.field1=t2.field2;

内连接:仅选出两张表中互相匹配的记录,没有匹配则结果为空

select * from t1 inner join t2 on t1.field1=t2.field2;
select * from t1,t2 where t1.field1=t2.field2;

5.7.子查询

在需要另外一个查询结果作为查询条件时使用。子查询用“()” 括起来。

如:查询学生“张三”的成绩

某些情况下,子查询可以转化为连表查询。如上面的例子可以写成连表查询:

5.8.记录联合

 将两个过多个表的查询结果合并成结果集输出。合并的条件是多个表的查询结果字段数要相同,注意是查询结果字段数不是表字段数。

select f1,f2,...,fn from t1
union/union all
select f1,f2,...,fn from t2
...
union/union all
select f1,f2,...,fn from tn

查询结果字段数不等,则报错

固定查询结果集字段数

5.9.select语句的执行顺序

自行证明该执行顺序是否正确,也算是对前面所学知识的一个巩固。​

复制代码

(7)  SELECT 
(8)  DISTINCT <select_list>
(1)  FROM <left_table>
(3)  <join_type> JOIN <right_table>
(2)  ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  HAVING <having_condition>
(9)  ORDER BY <order_by_condition>
(10) LIMIT <limit_number>​

复制代码

6.总结

到此为止,关于日常操作最为频繁的表数据的插入(insert)、更新(update)、删除(delete)和查询(select)语句就讲完了。最为繁杂的查询语句,又名为DQL语句,是DML语句中的重点。

MySQL 系列】MySQL 语句篇_DML 语句 DML(Data Manipulation Language),即数据操作语言,用于操作数据库对象中所包含的数据。常用关键字包括:插入(INSERT)、更新(UPDATE)、删除(DELETE)。 DML有助于管理数据库中的数据。通常用于从数据库中提取信息、修改现有数据或添加新数据。DML 与 DQL 语句是开发人员使用最频繁的操作。 阅读详情

相关推荐

Android BLE扫描指南:解决设备发现问题

假设你正在开发一个MAUI应用,用于扫描并连接到BLE设备。你的代码在Windows上运行得很好,但在Android上却无法发现任何设备。尽管你已经在中声明了必要的权限,并且在运行时请求这些权限,扫描还是无法工作。

m0_62153576的博客 199

DML语句

DQL 数据查询语句 SELECT DML 数据操纵语句 INSERT UPDATE DELETE DDL 数据定义语句 CREATE ALTER DROP TRUNCATE … DCL 数据控制语句 GRANT REVOKE TCL 事务控制语句 COMMIT ROLLBACK SAVEPOINT 一.定义 是DATA MANIPULATION LANGUAGE 的缩写,意思是数据操纵语言, 是指在SQL语言中对数据库对象运行数据访问的工作的指令集,以insert ,up.

CSDN_bilibili的博客 2161

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南

摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 270

5、DML语句(数据操纵语言-增删改查)

DML语句(增删改查)

fruity_wine的博客 3278

数据库DML语句详解与实践

本文主要讲了DML用于插入、更新、删除和查询数据。

2201_75782847的博客 3710

MySQL基础——DML语句

上篇文章我们学习了MySQL基础——DDL语句,这篇文章学习MySQL基础——DML语句DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据进行增(INSERT)、删(DELETE)、改(UPDATE)操作。接下来代码演示所用的数据表如下:数据库编码为utf-8。添加数据语法格式如下: 注意:在插入数据时,指定的字段顺序需要与值的顺序是一一对应且插入的数据大小应该在字段的规定范围内;字符串和日期型数据应该包含在引号中。给指定字段添加数据,示例代码

霖hero 1815

MySQL语句DDL,DML,DQL基础

MySQL语句DDL,DML,DQL基础篇 DDL语法 DML语法 DQL语法 单行注释 – 单行注释 /* 多行注释 */ – sql是结构化查询语言 – MySQL是数据库的名称 – SQLyog是一款可视化软件工具 DDL语法 DDL数据(结构)定义语言,用于创建和修改数据库表结构的语言,也是属于sql语言 – 常用语句 create drop alter rename – 创建数据库 CREATE DATABASE IF NOT EXISTS school_db CHARSET utf8 – 删除数

weixin_47609799的博客 295

MySQL 语句DML_MySQL基础DML语句

Blog:博客园 个人SQL语言大致分为DCL、DDL、DML三种,本文主要介绍MySQL 5.7版本DML语句。概述DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性.关键字INSERTDELETEUPDATESELETEINSERT语句INSERT语句主要用于向数据表中插入数据。语法格式INSERT [LO...

weixin_29457191的博客 161

MySQL基础-DML语句

MySQL基础-DML语句

拯救地球好累 487

Mysql数据库最基础的查询语句(DDL语句DML语句)

Mysql数据库最基础的查询语句(DDL语句DML语句)

weixin_45487019的博客 522

MySQL 语句DML_mysql 基础ddl语句 dml语句

DDL 语句创建数据库:create database test;切换数据库:use test;查看该库地下所有的数据表show tables;删除数据库:drop database test;创建表:create table emp(column_name1 column_type,column_name2 column_type ...)删除表:drop table emp;修改表alter ...

weixin_29458415的博客 134

MySQL基础--DML语句

INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...)...;INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...)...;INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);UPDATE 表名 SET 字段名1=值1,字段名2=值2 WHERE [条件];INSERT INTO 表名 VALUES(值1,值2,...);1、给指定字段添加数据。2、给全部字段添加数据。

bumengbuzhangfu的博客 174

mysql基础DML、DQL语句

课程笔记Day25 DDL语句 DML语句 DQL语句 第一章 DDL语句 第01节 操作数据库 1、创建数据库 简单的创建语法 -- 语法格式: CREATE DATABASE 数据库的名称; -- 案例代码: 创建了一个数据库,数据库的名称叫做 mydb02 CREATE DATABASE mydb02; 完整的创建语法 -- 语法格式 CREATE DATABASE IF NOT EXISTS 数据库的名称 CHARACTER SET 数据库使用的字符集; -- 案例代码:创建一个数据库

阳光宅男的博客 313

MySQL基础教程】DML语句详细介绍

本文为【MySQL基础教程】DML语句详细介绍相关知识,DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。下边具体将对添加数据(包含:给指定字段添加数据、给全部字段添加数据、批量添加数据),修改数据,删除数据等进行详尽介绍~

小新要变强的博客 900

MySQL基础-DML、DQL语句

本文介绍了MySQLDML和DQL语句的基本用法。DML语句包括INSERT(插入数据)、UPDATE(更新数据)和DELETE(删除数据)操作,并说明了TRUNCATE与DELETE的区别。DQL语句主要讲解SELECT查询,包括基本查询、算术表达式、列别名、去重操作和WHERE条件筛选。WHERE子句支持多种比较条件(=、<>、>、<等)和逻辑条件(AND、OR、NOT),以及特殊操作符(BETWEEN、IN、LIKE、IS NULL)。文章还介绍了通配符%和_的用法,为数据库

weixin_52185313的博客 636

MySQl DML语句基础(随堂博客)

MySQl DML语句基础(随堂博客)DML是什么SQL语句查询数据插入数据一般用写法前字段可以省略一次性插入多条字段缺失写法(空缺字段显示为空(null))更新数据基础语法条件语法变量语法删除数据基础语法删除表中所有数据条件删除有关于delete 和truncate的区别 本博客为课程随堂博客作业,个人技术有限,表达略显抽象,望请见谅 DML是什么 DML代指对表中的数据进行操作的SQL语言 四种基础语句的关键词 插入数据:insert 查询数据:select 更新数据:update 删除数据:delet

AdigaAdele的博客 266

mysqldml语句_Mysql基础入门-SQL_DML语句

DML语句DML操作是指对数据库中的表进行操作,主要包括记录的插入(insert),更新(update),删除(delete),查询(select)。记录插入创建表完成后就需要给器插入记录和数据了,插入记录基本语法如下:INSERT tablename (fielde1,fielden2....)VALUES(value1,value2....);下面我给我制作的表名为class_1填入以下下信...

weixin_29210759的博客 173

MySQL数据库的入门 —— sql语句基础 (DDL+DML+DQL+DCL)

本文介绍了MySQL基础操作,涵盖DDL、DML、DQL、DCL四大类语句,使用IDEA专业版界面化数据库演示。重点讲解了数据库/表的创建删除(DDL)、数据增删改(DML)以及复杂查询(DQL),包括条件查询、聚合函数、分组排序等核心功能,并说明执行顺序。文章推荐使用界面化工具提升效率,同时强调DQL在JDBC中的重要性,对开发中较少使用的DCL仅作简要说明。文末提供完整SQL示例和操作效果截图,适合MySQL初学者快速掌握基础操作。

Rookiebird829的博客 904

MYSQL基础——DML语句

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据进行增(INSERT)、删(DELETE)、改(UPDATE)操作。在插入数据时,指定的字段顺序需要与值的顺序是一一对应且插入的数据大小应该在字段的规定范围内;注意:当删除数据语句中,没有写条件时,会删除整张表的所有数据。注意:当修改数据语句中,没有条件,则会修改整个表的所有数据。字符串和日期型数据应该包含在引号中。输入如下命令查询表中的数据。

m0_73703409的博客 360

基于STM32设计的智能家居控制系统(华为云IOT).pdf

完整的项目文档,讲解项目从0开始开发的过程。包括理论设计,系统框图设计,代码设计,硬件选型,硬件连线,最终的实物图等等。也包括了对于的视频,视频都已经上传B站,搜索B站UP主:DS小龙哥。

上一篇: 如何基于 Docker 快速搭建 Springboot + Mysql + Redis 项目
下一篇: MySQL慢日志优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值