IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 5.MySQL数据库DQL操作 -> 正文阅读

[大数据]5.MySQL数据库DQL操作

MySQL数据库DQL操作

基本知识

  • DQL(数据库查询语言):用于查询数据库数据
    • select

语法

SELECT <ALL | DISTINCT>		-- 是否去重
{* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}	-- 设置最终结果显示d
FROM table_name [as table_alias]
  [left | right | inner join table_name2]  -- 联合查询
  [WHERE ...]  -- 指定结果需满足的条件
  [GROUP BY ...]  -- 指定结果按照哪几个字段来分组
  [HAVING]  -- 过滤分组的记录必须满足的次要条件
  [ORDER BY ...]  -- 指定查询记录按一个或多个条件排序
  [LIMIT {[offset,]row_count | row_countOFFSET offset}];
   -- 指定查询的记录从哪条至哪条
   
-- 在这里[]代表可选的	

SQL执行顺序

img

数据库的列(表达式)

select version() 	-- 查询系统版本(函数)
select 10*3-1 as 计算机结果	-- 用来计算(表达式)
select @@auto_increament_increament -- 查询自增的步长(变量)

数据库中的表达式:文本值、列、NULL、函数,计算表达式、系统变量

Where条件字句

  • 作用:检索数据中符合条件的值

逻辑运算符

运算符含义
A and B &&逻辑与
A or B ||逻辑或
not A=1 !逻辑非

模糊查询:比运算符

运算符含义
A is null如果A为NULL,结果为真
A is not null
A between xx and xxA在xx 和 xx 之间
A like ‘xxx’A和 xxx匹配
A in (xx,xxx)A被包含在(xx,xxx)里面

匹配原则:正则匹配

%:匹配任意个字符

_:只匹配一个字符

联表查询Join

-- 示例
slelect A.num,B.name
from A <left | inner | right> join B   A.num = B.num

Left join:显示左边所有的数据,即使B种没有匹配的对应值也会显示;而B种数据在A种没有匹配的就不会显示

Right join:和上面说法相反

Inner join:只会显示A、B均有匹配的值,所以不会出现未匹配的数据

自连接

自己的表和自己的表连接,核心:一张表拆成两张一样的表

将表多次命别名,相当于两个表进行操作

分页和排序

排序

根据指定字段排列行数据

  • 升序ASC:

    order by [列名]   -- 默认升序
    
  • 降序DESC

    order by [列名] desc  -- 降序排列
    

分页

-- 示例:每页只显示五条数据
select ...
order by xx
limit 1,5	-- (n - 1)*pageSize
-- 【pageSize:页面大小;n:当前页;(n-1)*pageSize:数据起始位置;数据总数/pageSize=当前页数】

格式

limit [查询起始下标][往下显示的行数]

--------
limit 2,5 -- 从第2行数据开始(不包括第2行),往下显示5个数据

所以,如果我们要实现分页的效果,实际上是处理起始数据的行数选择,根据公式( n - 1)*pageSize 来确定起始数据。

即,如果想显示第2页数据,(2-1)*5=5,所以起始数据填 5,数据显示从第6行 - 第10行

瀑布流:一般图片才会采用

根据进度条的位置,不断加载数据

子查询和嵌套查询

where (这个值是计算出来的)

本质:在where语句中嵌套一个查询

-- 示例 查询选修了数据库-1的学生
select * from student
where studentNo = (
    select studentNo from subject
    where subject = '数据库-1'
)

-- 也可以联表查询

使用子查询,要注意where 里面的子查询返回的列要等于结果。

所以一般来说,子查询只返回一列结果

Group by

根据某个字段分组统计

  • 可以结合聚合函数统计各组数据
  • 分组筛选的条件不能用where,要用having来筛选各组
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:54:03  更:2021-10-27 12:54:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:03:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码