iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中DML语句的示例分析
  • 756
分享到

MySQL中DML语句的示例分析

2024-04-02 19:04:59 756人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Mysql中DML语句的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DML操作是指对数据库中表记录的操作,主要包括表记录的插入(in

这篇文章将为大家详细讲解有关Mysql中DML语句的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。

1.插入(insert)

格式1.

INSERT INTO emp(ename,hiredate,sal,deptno) VALUES('zzx1','2000-01-01','2000',1);

格式2.

INSERT INTO emp VALUES('lisa','2003-02-01','3000',2);

不用指定字段名称,但是value值需与表字段严格对应.

格式3.

INSERT INTO emp(ename,sal) VALUES('dony',1000);

对于含可空字段、非空但是含有默认值的字段、自增字段,可以不用在INSERT后的字段列表里面出现,VALUES后面只写对应字段名称的VALUE:

格式4

mysql中,INSERT语句还可以一次性插入多条记录:

INSERT INTO tablename(field1,field2,......fieldn)
VALUES
(record1_value1,record1_value2,......record1_valuen),
(record2_value1,record2_value2,......record2_valuen),
......
(recordn_value1,recordn_value2,......recordn_valuen);

2.更新(update)

格式1

UPDATE emp SET sal=4000 WHERE ename='lisa';

格式2

UPDATE t1,t2,...tn SET 
t1.field1=expr1,
t2.field2=expr2,
...
tn.fieldn=exprn [WHERE CONDITioN];

同时更新多个表中的数据

3.删除(delete)

格式1

DELETE FROM tablename [WHERE CONDITION];

格式2

DELETE t1,t2,...tn FROM t1,t2,...tn [WHERE CONDITION];

注意:不管是单表还是多表,不加where条件将会把表的所有记录删除,所以操作时一定要小心。

4.查询(select)

基本语法:

SELECT * FROM tablename [WHERE CONDITION];

1.查询不重复的记录,可以用distinct关键字实现:

SELECT DISTINCT deptno FROM emp;

2.条件查询:

SELECT * FROM emp WHERE deptno=1;

其中,where 后面的条件除“=” 外,还可以使用 >、<、>=、<=、!=等比较运算符;

多个条件之间还可以使用or、and等逻辑运算符进行多条件联合查询

3.排序和限制:

SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC], field2 [DESC|ASC],...fieldn [DESC|ASC]];

其中,DESC和ASC是排序关键字,
DESC表示按照字段进行降序排列(上大-下小),
ASC则表示升序排列(上小-下大),
如果不写此关键字默认是升序排列。
ORDER BY 后面可以跟多个不同的排列字段,并且每个排序字段可以有不同的排序顺序。

如果排序字段的值一样,则值相同的字段按照第二个排序字段进行排序,以此类推。如果只有一个排序字段,则这字段相同的记录将会无序排列。

SELECT ......[LIMIT offset_start,row_count];

对于排序后的记录,如果希望只显示一部分,而不是全部,这时,就可以使用LIMIT关键字来实现.

LIMIT 经常和ORDER BY一起配合使用来进行记录的分页显示。

注意:limit属于Mysql扩展SQL92后的语法,在其他数据库上并不能通用。

4.聚合

很多情况下,我们需要进行一些汇总操作,比如统计整个公司的人数或者统计每个部门的人数,这是就要用到SQL的集合操作。

SELECT [field1,field2,......fieldn] fun_name
FROM tablename
[WHERE where_contition]
[GROUP BY field1,field2,......fieldn
[WITH ROLLUP]]
[HAVING where_contition];

对其参数进行以下说明:

  1. fun_name 表示要做的集合操作,也就是聚合函数,常用的有sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。

  2. GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在group by后面。

  3. WITH ROLLUP 是可选语法,表明是否对分类聚合后的结果进行再汇总。

  4. HAVING 关键字表示对分类后的结果再进行条件的过滤。

注意:having和where的区别在于having是对聚合后的结果进行条件的过滤,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用where先过滤记录,这样因为结果集减小,将对聚合的效率大大提高,最后再根据逻辑看是否用having进行再过滤。

5.表连接

表连接分为内连接和外连接,它们之间的最主要区别是:
内连接仅选出两张表中互相匹配的记录,
而外连接会选出其他不匹配的记录。我们常用的是内连接。

外连接有分为左连接和右连接,具体定义如下:

  1. 左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录

  2. 右连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录

SELECT ename,deptname FROM emp LEFT JOIN dept ON emp.deptno=dept.deptno;

 6.子查询

某些情况,当我们查询的时候,需要的条件是另一个SELECT语句的结果,这个时候,就要用到子查询。
用于子查询的关键字主要包括in、not in、=、!=、exists、not exists等。

SELECT * FROM emp WHERE deptno IN(SELECT deptno FROM dept);

注意:子查询和表连接之间的转换主要应用在两个方面:

MySQL 4.1 以前的版本不支持子查询,需要用表连接来实现子查询的功能
表连接在很多情况下用于优化子查询

7.记录联合

我们经常会碰到这样的应用,将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来,这个时候,就需要用到uNIOn和union all关键字来实现这样的功能,具体语法如下:

SELECT * FROM t1
UNION|UNION ALL
SELECT * FROM t2
......
UNION|UNION ALL
SELECT * FROM tn;

UNION 和 UNION ALL的主要区别是 UNION ALL 是把结果集直接合并在一起,而UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复记录后的结果。

关于“MySQL中DML语句的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中DML语句的示例分析

本文链接: https://www.lsjlt.com/news/57287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中DML语句的示例分析
    这篇文章将为大家详细讲解有关MySQL中DML语句的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DML操作是指对数据库中表记录的操作,主要包括表记录的插入(in...
    99+
    2024-04-02
  • MySQL中DML语言操作的示例分析
    这篇文章主要介绍MySQL中DML语言操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!补充说明,外键:不要使用外键,一切外键概念都在应用层解决。补充说明,数据库的列,也就...
    99+
    2024-04-02
  • MySQL中DDL和DML的示例分析
    这篇文章将为大家详细讲解有关MySQL中DDL和DML的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、DDL        可能有看官老爷会问,什么是D...
    99+
    2023-06-22
  • mysql中update语句的示例分析
    这篇文章主要介绍了mysql中update语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,准备创建一张test表CREATE...
    99+
    2024-04-02
  • mysql中入门语句的示例分析
    这篇文章主要为大家展示了“mysql中入门语句的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中入门语句的示例分析”这篇文章吧。Selec&#...
    99+
    2024-04-02
  • MySQL中SQL语句优化的示例分析
    这篇文章主要介绍MySQL中SQL语句优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sql如下:sql强制用了into_time索引# Time: 2017-02-14...
    99+
    2024-04-02
  • Mysql中Sql语句注释的示例分析
    这篇文章主要介绍了Mysql中Sql语句注释的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL的SQL语句里面是可以加注释的...
    99+
    2024-04-02
  • MySQL语句加锁的示例分析
    这篇文章主要介绍了MySQL语句加锁的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。事前准备建立一个存储三国英雄的hero表:CRE...
    99+
    2024-04-02
  • php中continue语句的示例分析
    这篇文章主要介绍php中continue语句的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于...
    99+
    2023-06-14
  • PHP中INCLUDE语句的示例分析
    这篇文章主要介绍了PHP中INCLUDE语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。每次遇到INCLUDE时PHP INCLUDE语句就包含指定的文件。所以你...
    99+
    2023-06-17
  • Hive中DDL和DML的示例分析
    这篇文章主要为大家展示了“Hive中DDL和DML的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hive中DDL和DML的示例分析”这篇文章吧。Hive构建在Hadoop之上:&nbs...
    99+
    2023-06-02
  • MySQL中SQL语句分析与查询优化的示例分析
    这篇文章主要为大家展示了“MySQL中SQL语句分析与查询优化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中SQL语句分析与查询优化的示例...
    99+
    2024-04-02
  • MySQL中TCL事务控制语句的示例分析
    这篇文章给大家分享的是有关MySQL中TCL事务控制语句的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、事务的介绍与使用通过show engines;可以查看mysq...
    99+
    2024-04-02
  • mysql记录耗时中sql语句的示例分析
    这篇文章主要介绍了mysql记录耗时中sql语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 mys...
    99+
    2024-04-02
  • php中break语句以及continue语句的示例分析
    这篇文章给大家分享的是有关php中break语句以及continue语句的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1:break语句作用:可以在switch中使用break来终止分支结构的执行;可以...
    99+
    2023-06-15
  • Mysql中SQL语句不使用索引的示例分析
    小编给大家分享一下Mysql中SQL语句不使用索引的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL查询不使用索...
    99+
    2024-04-02
  • MySQL中select、insert、update批量操作语句的示例分析
    这篇文章主要介绍了MySQL中select、insert、update批量操作语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了...
    99+
    2024-04-02
  • SqlServer中批量update语句的示例分析
    这篇文章给大家分享的是有关SqlServer中批量update语句的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。现在我有两张表分别是S_PERSON,S_US...
    99+
    2024-04-02
  • python控制语句的示例分析
    这篇文章主要为大家展示了“python控制语句的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python控制语句的示例分析”这篇文章吧。1、Python为迭代提供了标准的while语句...
    99+
    2023-06-20
  • ES6单条语句的示例分析
    小编给大家分享一下ES6单条语句的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!单条语句ES6时代,操作数组的语句将会更...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作