包括 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 (数据操作语言)的更多相关文章

  1. 6.1课堂笔记—DML(数据操作语言),DQL查询语句

    一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%st ...

  2. DML数据操作语言

    DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...

  3. DML数据操作语言之增加,删除,更新

    1.数据的增加 数据的增加要用到insert语句  ,基本格式是: insert into <表名> (列名1,列名2,列名3,......) values (值1,值2,值3,..... ...

  4. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...

  5. DML数据操作语言之谓词,case表达式

    谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即tr ...

  6. DML数据操作语言之常用函数

    所谓函数,就是输入某一值,得到相应的输出结果的功能.相当于一个加工厂,给了原料,最终产出成品. 其中原料 就是参数(parameter). 产品 就是返回值. 函数大致可以分为以下五个种类: 算术函数 ...

  7. DML数据操作语言之复杂查询

    1.视图(View) 我们知道,在关系型数据库中,用来保存实际数据记录的是数据表.和表同等概念也是用来保存东西是:视图. 但是数据表是用来保存实际数据记录的,而视图是用来保存常用select语句的. ...

  8. DML数据操作语言之查询(二)

    当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例 ...

  9. DML数据操作语言之查询(一)

    1.select语句基础 基本语句格式:  select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取 ...

随机推荐

  1. 201871010113-刘兴瑞《面向对象程序设计(java)》第八周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>htt ...

  2. C++ 堆&栈等的说明

    Stack 堆 存在于某作用域内的一块空间.说白了就是函数产生的空间,用于存放函数的变量.返回地址. 在函数体中声明的局部变量,就时存储在Stack中. Heap 栈 由操作系统提供的全局空间.在程序 ...

  3. HTML页面导入模板页面(Tomcat)

    找了个前端模板,多个HTML中有重复的部分,一改都改,所以对其进行重构,将重复的部分拿出来 看了很多方法,最简单的是jQuery,但是在我这没起作用,后来发现一个配置tomcat的ssi,让服务器帮我 ...

  4. 使用canal增量同步mysql数据库信息到ElasticSearch

    本文介绍如何使用canal增量同步mysql数据库信息到ElasticSearch.(注意:是增量!!!) 1.简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系 ...

  5. matlab中的colormap

    matlab colormaps 默认颜色图是 parula ,颜色图从左往右数值不断增大. 颜色图名称 色阶 parula jet hsv hot cool spring summer autumn ...

  6. 深入Pytorch微分传参

    导数 这段代码揭示了多个变量的微分以及如何求解loss为向量的导数 m1 = Variable(torch.ones((3,2)), requires_grad=True) m2 = Variable ...

  7. python--基础知识点梳理(之数据结构)

    数据结构: # 按逻辑结构(面向问题)分为:集合结构.线性结构.树形结构.图形结构 # 按物理结构(面向计算机)分为: # 顺序存储结构(把数据元素放在地址连续的存储单元中,数据间的逻辑关系和物理关系 ...

  8. 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

    一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...

  9. Python小工具:3秒钟将视频转换为音频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: pk 哥 PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

  10. Java生鲜电商平台-商品基础业务架构设计-商品设计

    Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...