MySQL SQL DML (数据操作语言)
包括 SELECT, UPDATE, DELETE, INSERT
SELECT
从数据库表中获取数据
用法
SELECT name FROM students;
SELECT name,age FROM students;
SELECT * FROM students;
DISTINCT
使用 DISTINCT 可以对搜索结果进行去重
SELECT DISTINCT name FROM students;
ORDER BY
ORDER BY 根据指定的列对结果集进行排序
DESC 倒序、ASC 正序
SELECT * FROM students ORDER BY age DESC, name ASC;
LIMIT
LIMIT 用于规定要返回的记录的数目
SELECT * FROM students LIMIT 10;
UNION & UNION ALL
UNION 操作符用于合并两个或多个 SELECT 语句的结果集
UNION 自动去重,如果不希望去重可以使用 UNION
注意:UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型,并且每条 SELECT 语句中的列的顺序必须相同
SELECT * FROM students WHERE age < 18
UNION
SELECT * FROM students WHERE age > 100;
SELECT * FROM students WHERE age < 18
UNION ALL
SELECT * FROM students WHERE name LIKE 'A%';
WHERE
使用 WHERE 可以增加搜索条件
SELECT name FROM students WHERE age BETWEEN 0 AND 18;
SELECT name FROM students WHERE age < 18;
支持的操作符:>、<、=、<=、>=、<>(!=)、BETWEEN、LIKE
BETWEEN
BETWEEN ... AND 在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围,可以是数值、文本或者日期
同时也可以通过 NOT 来选取这两个值之外的范围
注意: BETWEEN 的范围是同时包含左右两个值的
SELECT name FROM students WHERE age BETWEEN 0 AND 18;
SELECT name FROM students WHERE age NOT BETWEEN 0 AND 18;
IN
IN 操作符允许我们在 WHERE 子句中规定多个值
SELECT * FROM students WHERE name IN ('Tom', 'Jerry');
LIKE & RLIKE & REGEXP
LIKE
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式
LIKE 通常与 %、_一起使用,如果不使用通配符 LIKE 就相当于 =
MySQL 中 LIKE 不支持 [charlist]、[^charlist] 通配符,需要使用正则进行匹配
SELECT * FROM students WHERE name LIKE 'A%';
SELECT * FROM students WHERE name NOT LIKE 'A%';
SELECT * FROM students WHERE name LIKE 'T_m';
RLIKE & REGEXP
MySQL中使用 RLIKE & REGEXP 操作符来进行正则表达式匹配,相比 LIKE 更加灵活
SELECT * FROM students WHERE name RLIKE '^[^a-c]';
SELECT * FROM students WHERE name REGEXP '^[^a-c].m';
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
| . | 匹配除了'\n'之外的任意单个字符 |
| [charlist] | 匹配列表所包含的任意一个字符 |
| [^charlist] | 匹配列表不包含的任意一个字符 |
| | | 匹配符号左边或右边的字符 |
| * | 匹配前面的表达式 0 次或多次,等价于{0,} |
| + | 匹配前面的表达式 1 次或多次,等价于{1,} |
| {n} | 匹配前面的表达式至少 n 次 |
| {n,m} | 匹配前面的表达式至少 n 次,至多 m 次 |
通配符
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist] 不在字符列中的任何单一字符
AND & OR
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来
AND 要求两个条件同时成立
OR 只用其中一条成立即可
当 AND 和 OR 形成复杂的表达式时,可以使用 () 将条件括起来
SELECT * FROM students WHERE (name LIKE 'A%' OR name LIKE 'B%') AND age>18;
UPDATE
更新数据库表中的数据
UPDATE students SET name = 'Jerry' WHERE name = 'Tom';
UPDATE students SET age = 18, gender = 'F' WHERE name = 'Alice';
DELETE
从数据库表中删除数据
DELETE FROM students WHERE name = 'Tom';
删除表中所有数据,但是表还保留
DELETE FROM students;
INSERT INTO
向数据库表中插入数据
INSERT INTO students VALUES ('Tom', 10, 'M'), ('Jerry', 9, 'M');
INSERT INTO students (name, gender) VALUES ('Tom', 'M');
MySQL SQL DML (数据操作语言)的更多相关文章
- 6.1课堂笔记—DML(数据操作语言),DQL查询语句
一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%st ...
- DML数据操作语言
DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...
- DML数据操作语言之增加,删除,更新
1.数据的增加 数据的增加要用到insert语句 ,基本格式是: insert into <表名> (列名1,列名2,列名3,......) values (值1,值2,值3,..... ...
- ODPS SQL <for 数据操作语言DML>
基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...
- DML数据操作语言之谓词,case表达式
谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即tr ...
- DML数据操作语言之常用函数
所谓函数,就是输入某一值,得到相应的输出结果的功能.相当于一个加工厂,给了原料,最终产出成品. 其中原料 就是参数(parameter). 产品 就是返回值. 函数大致可以分为以下五个种类: 算术函数 ...
- DML数据操作语言之复杂查询
1.视图(View) 我们知道,在关系型数据库中,用来保存实际数据记录的是数据表.和表同等概念也是用来保存东西是:视图. 但是数据表是用来保存实际数据记录的,而视图是用来保存常用select语句的. ...
- DML数据操作语言之查询(二)
当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例 ...
- DML数据操作语言之查询(一)
1.select语句基础 基本语句格式: select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取 ...
随机推荐
- 201871010126 王亚涛《面向对象程序设计 JAVA》 第十三周学习总结
内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...
- bzoj3293 分金币
题目链接 problem 圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使 得每个人的金币数目相等.你的任务是求出被转手的金币数量的最小值. so ...
- 【洛谷5298】[PKUWC2018] Minimax(树形DP+线段树合并)
点此看题面 大致题意: 有一棵树,给出每个叶节点的点权(互不相同),非叶节点\(x\)至多有两个子节点,且其点权有\(p_x\)的概率是子节点点权较大值,有\(1-p_x\)的概率是子节点点权较小值. ...
- HTML5新属性在Google浏览器中不能显示的问题
这两天在学习HTML5新属性时遇到了如下问题,很是不解: 例如在学习使用canvas时,需要绘制一个红色的原点,代码如下: <!DOCTYPE HTML> <html> < ...
- Paper | Deep Mutual Learning
目录 1. 动机详述和方法简介 2. 相关工作 3. 方法 3.1 Formulation 3.2 实现 3.3 弱监督学习 4. 实验 4.1 基本实验 4.2 深入实验 [算法和公式很simple ...
- Apollo服务端设计原理剖析
本文摘自于<Spring Cloud微服务 入门 实战与进阶>一书. 1 配置发布后的实时推送设计 配置中心最重要的一个特性就是实时推送了,正因为有这个特性,我们可以依赖配置中心做很多事情 ...
- 图解Java常用数据结构
最近在整理数据结构方面的知识, 系统化看了下 Java 中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于 jdk8, 可能会有些特性与 jdk7 之前不相同, 例如 LinkedList ...
- 2019 年 GitHub 上最热门的 Java 开源项目
1.JavaGuide https://github.com/Snailclimb/JavaGuide Star 22668 [Java 学习 + 面试指南] 一份涵盖大部分 Java 程序员所需要掌 ...
- Apollo的基本概念和集成实战
基本概念 使用场景 是一个分布式的配置中心.适用于微服务: 核心功能 集中管理不同环境,不同集群的配置: 配置修改后可以实时推送到应用端: 具备规范的权限,流程治理特性: 开发技术 服务端使用spri ...
- [05]ASP.NET Core 中的 Main 方法
ASP.NET Core 中的 Main 方法 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自<从零开始学 ASP.NE ...