常见DML语句汇总
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语句汇总的更多相关文章
- SQL基础-----DML语句
之前已经介绍过SQL基础之DDL(数据库定义语言)语句,http://www.cnblogs.com/cxq0017/p/6433938.html(这是地址) 这篇文章主要介绍DML语句(数据库操纵语 ...
- 数据库之sql语句汇总20180616
/*******************************************************************************************/ 一.SQL简 ...
- 详解MySQL第二篇—DML语句
DML 语句: DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查(select),是开发人员日常使用最频繁的操作.下面将依次 ...
- 入门MySQL——DML语句篇
前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太 ...
- MySQL基础之DML语句
DML 语句 DML(Data Manipulation Language)语句:数据操纵语句. 用途:用于添加.修改.删除和查询数据库记录,并检查数据完整性. 常用关键字:insert.update ...
- 解决死锁之路3 - 常见 SQL 语句的加锁分析 (转)
出处:https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 这篇博客将对一些常见的 SQL 语句进行加锁 ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- 详解MySQL---DDL语句、DML语句与DCL语句
背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...
- 数据库 使用DML语句更改数据
使用DML语句更改数据 添加新数据: 插入单行语句: Insert into 表名(列名)values(‘值’); 插入多行:insert into 表名(列名,…..) Values(‘值’,’值’ ...
随机推荐
- java配置SSM框架下的redis缓存
pom.xml引入依赖包 <!--jedis.jar --> <dependency> <groupId>redis.clients</groupId> ...
- centos7安装kvm及kvm管理
一.安装kvm 查看CPU是否支持虚拟化 grep -E 'svm|vmx' /proc/cpuinfo - vmx is for Intel processors - svm is for AMD ...
- Kubernetes架构
一.Kubernetes 架构: Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. 1. Master 节点 Master 是 ...
- springboot-RequestMappingHandlerMapping
作用:查看应用请求对应的ur和方法l情况 实例: RequestMappingHandlerMapping mapping =applicationContext.getBean("requ ...
- 还原Master数据库后SQLSERVER的服务无法开启
如果还原Master数据库后,SQLSERVER的服务无法开启,请注意是否因为其他的系统数据库在Master备份中记录的路径与现在的路径不一致导致的. 如果是,可以在cmd中执行“NET START ...
- 【AMAD】django-allauth
简介 个人评分 简介 django-allauth1集成的Oauth API包括: Amazon (OAuth2) AngelList (OAuth2) Bitly (OAuth2) Dropbox ...
- libev 源码解析
一 libev简介 libev是一个轻量级的事件通知库,具备支持多种事件通知能力,通过对libev的源码的阅读,可以清楚了解事件通知实现内部机制. 二 核心数据结构 在libev中关键的数据结构是, ...
- Linux远程开发
Linux远程开发 通常,当我们开发Linux程序时有两种方案: 在Linux上直接编写程序并进行运行测试和调试 在Windows或Mac OS X上借助工具进行远程开发 虽然我自己是在Linux环境 ...
- shell sed 替代1
sed -e '/-DLUA_USE_LINUX/s/-lreadline/-lreadline -lncurses/g' Makefile > tmp mv tmp Makefile 全局换- ...
- 学习笔记:CentOS 7学习之十二:查找命令
目录 1.which-whereis-locate-grep-find查找命令 1.1 which 1.2 whereis 1.3 locate 1.4 grep 1.5 find命令 2. 命令的判 ...