DML操作是指对数据中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作,下面依次对它们进行介绍。
(1) 插入记录
INSERT INTO tablename(field1,field2,…,fieldn) VALUES(value1,vaule2,…,valuen)
(2) 更新记录
UPDATE tablename SET field1=value1,field2=value2,…,fieldn=valuen [WHERE CONDITION]
(3) 同时更新多个表数据
UPDATE t1,t2,…tn SET t1.field=value1,t2.fieldn=valuen [WHERE CONITION]
(4) 删除记录
DELETE FROM tablename [WHERE CONDITION]
(5) 删除多个表的数据
DELETE FROM t1,t2,…,tn FROM t1,t2,…,tn[WHERE CONDITION]
(6) 查询记录
SELECT * FROM tablename [WHERE CONDITION]
(7) 排序
SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC] , field2 [DESC|ASC] ,…, fieldn [DESC|ASC]]
(8) 聚合
SELECT [field1,field2,…,fieldn] fun_name FROM tablename
[WHERE CONDITION] [GROUP BY field1,field2,…,fieldn] [WITH ROLLUP]
[HAVING CONDITION]
- fun_name表示要做的聚合操作、也就是聚合函数、常用的又sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)
- WITH ROLLUP 是可选语法、表明是否对分类聚合后的结果进行再汇总
- HAVING关键字表示对分类后的结果在进行条件的过滤

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

(9) 内连接(包含左右表中互相匹配的记录)
SELECT * FROM tb1 INNER JOIN tb2 WHERE CONDITION
(10) 左连接(包含所有的左表中的记录甚至是右边表中没有和它匹配的记录)
SELECT * FROM tb1 LEFT JOIN tb2 WHERE CONDITION
(11) 右连接(包含所有的左表中的记录甚至是右边表中没有和它匹配的记录)
SELECT * FROM tb1 LEFT JOIN tb2 WHERE CONDITION
(12) 子查询
SELECT * FROM tb1 WHERE filed1 IN (SELECT field1 FROM tb2)
注意:表连接在很多情况夏用于优化子查询
(13) 记录联合
SELECT * FROM tb1 UNION|UNION ALL SELECT * FROM tb2
注意:使用UNION和UNION
ALL将多个表中的数据按照一定的查询条件查询出来和,将结果合并到一起显示出来。UNION和UNION ALL的主要区别是UNION
ALL是把结果集直接合并在一起,而UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复的记录。

常见DML语句汇总的更多相关文章

  1. SQL基础-----DML语句

    之前已经介绍过SQL基础之DDL(数据库定义语言)语句,http://www.cnblogs.com/cxq0017/p/6433938.html(这是地址) 这篇文章主要介绍DML语句(数据库操纵语 ...

  2. 数据库之sql语句汇总20180616

    /*******************************************************************************************/ 一.SQL简 ...

  3. 详解MySQL第二篇—DML语句

    DML 语句: DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查(select),是开发人员日常使用最频繁的操作.下面将依次 ...

  4. 入门MySQL——DML语句篇

    前言:  在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太 ...

  5. MySQL基础之DML语句

    DML 语句 DML(Data Manipulation Language)语句:数据操纵语句. 用途:用于添加.修改.删除和查询数据库记录,并检查数据完整性. 常用关键字:insert.update ...

  6. 解决死锁之路3 - 常见 SQL 语句的加锁分析 (转)

    出处:https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 这篇博客将对一些常见的 SQL 语句进行加锁 ...

  7. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  8. 详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  9. 数据库 使用DML语句更改数据

    使用DML语句更改数据 添加新数据: 插入单行语句: Insert into 表名(列名)values(‘值’); 插入多行:insert into 表名(列名,…..) Values(‘值’,’值’ ...

随机推荐

  1. 代理模式之Cglib代理

    Cglib代理,也叫做子类代理.在内存中构建一个子类对象从而实现对目标对象功能的扩展. l  JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口.如果想代理没有实现接口的类,就可 ...

  2. 用Red5搭建支持WEB播放的实时监控视频

    用Red5搭建支持WEB播放的实时监控视频 1. 下载Red5:https://github.com/Red5/red5-server/releases 下载了Red5 1.0.6 release的Z ...

  3. CentOS7出现Unit iptables.service could not be found

    CentOS7默认的防火墙不是iptables,而是firewalle. 出现此情况可能是iptables防火墙未安装. #停止firewalld服务 systemctl stop firewalld ...

  4. MATLAB学习(六)绘图图形功能

    >> x=0:.1:2*pi;plot(x,sin(x),x,cos(x))                               >> plot(x,sin(x),'p ...

  5. python解析模块(ConfigParser)使用方法

    python解析模块(ConfigParser)使用方法 很多软件都有配置文件,今天介绍一下python ConfigParser模块解析配置文件的使用方法 测试配置文件test.conf内容如下: ...

  6. Spring Cloud(0):目录

    Spring Cloud(1):概览 Spring Cloud(2):服务发现(Eureka) Spring Cloud(3):配置服务(Config) Spring Cloud(4):断路器(Hys ...

  7. Gym - 100989 L / M 【dfs / dp】

    题目链接:http://codeforces.com/gym/100989/problem/L / http://codeforces.com/gym/100989/problem/M 题目大意:给定 ...

  8. [转帖]Zookeeper vs etcd vs Consul比较

    Zookeeper vs etcd vs Consul比较 https://it.baiked.com/consul/2341.html 需要转型 加强学习. 如果使用预定义的端口,服务越多,发生冲突 ...

  9. SQL用法三(游标和Fetch)

    /一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环/以下内容摘自http://www. ...

  10. The import javax.websocket cannot be resolved的解决问题

    在eclipse中导入项目的时候出现了这个问题,废了我半天劲,才搞明白,把问题记录下来,方便大家以后遇到这问题好处理.提供参考. 出现的问题截图: 因为我用的是tomcat8, 大体步骤:项目上点右键 ...