DQL 数据查询语言(单表查询)

news2024/11/15 15:44:08

导入数据

  1. 登录mysql数据库管理系统
mysql -uroot -pXXX
  1. 查看有哪些数据库
show databases; (这个不是SQL语句,属于MySQL的命令。)
  1. 创建属于我们自己的数据库
create database db1; (这个不是SQL语句,属于MySQL的命令。)
  1. 使用bjpowernode数据
use db1; (这个不是SQL语句,属于MySQL的命令。)
  1. 查看当前使用的数据库中有哪些表?
show tables; (这个不是SQL语句,属于MySQL的命令。)
  1. 初始化数据
source D:\course\05-MySQL\resources\db1.sql

DQL概述

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。关键字:select

基础查询

1、 查询多个字段

select 字段名1,字段名2,字段名3,.... from 表名;
SELECT * FROM 表名 ;#实际开发中不建议使用*,效率较低。

标准sql语句中要求字符串使用单引号括起来。虽然mysql支持双引号,尽量别用。

2、 字段设置别名

SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;
SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名;

3、去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

条件查询

1、语法

SELECT 字段列表 FROM 表名 WHERE 条件列表 ;

执行顺序:from -> where -> select (先from,然后where,最后select)

2、条件

比较运算符:
在这里插入图片描述

注意:
1、between and在使用的时候必须左小右大。
2、between and除了可以使用在数字方面之外,还可以使用在字符串方面。(用在字符串左闭右开)
3、在数据库当中NULL不是一个值,代表什么也没有,为空。空不是一个值,不能用等号衡量。必须使用 is null或者is not null
4、in等同于or;not in: 不在这几个值当中

逻辑运算符:
在这里插入图片描述

聚合函数

将一列数据作为一个整体,进行纵向计算 。所有的分组函数都是对“某一组”数据进行操作的。分组函数一共5个。分组函数还有另一个名字:多行处理函数。多行处理函数的特点:输入多行,最终输出的结果是1行。

在这里插入图片描述
1、语法

SELECT 聚合函数(字段列表) FROM 表名 ;

注意:

  • 1、NULL值是不参与所有聚合函数运算的。聚合函数自动忽略NULL。
  • 2、SQL语句当中有一个语法规则,分组函数不可直接使用在where子句当中,因为group by是在where执行之后才会执行的。
  • 3、count(*)和count(具体的某个字段),他们有什么区别?
    count(*):不是统计某个字段中数据的个数,而是统计总记录条数。(和某个字段无关)
    count(每个字段): 表示统计comm字段中不为NULL的数据总数量。
  • 4、所有数据库都是这样规定的,只要有NULL参与的运算结果一定是NULL。解决方案:使用ifnull函数,ifnull(可能为NULL的数据,被当做什么处理) : 属于单行处理函数。

分组查询

  • group by : 按照某个字段或者某些字段进行分组。
  • having : having是对分组之后的数据进行再次过滤。

1、语法

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

2、注意事项

• 分组函数一般都会和group by联合使用,这也是为什么它被称为分组函数的原因。
• 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
• 任何一个分组函数都是在group by语句执行结束之后才会执行的。
• 执行顺序: where > 聚合函数 > having 。
• 支持多字段分组, 具体语法为 : group by columnA,columnB

3、where与having区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

排序查询

1、语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;

2、排序方式

  • ASC : 升序(默认值)
  • DESC: 降序

注意事项:
• 如果是升序, 可以不指定排序方式ASC ;
• 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;

分页查询

1、语法

SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;

注意事项:
• 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
• 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

执行顺序

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带你了解达人营销的概况

现在,达人营销的格局在不断变化。社交媒体平台想方设法希望吸引更多用户。如果普通用户的内容能够实现爆炸性传播,他们就可以成为冉冉升起的新星。企业需要尽一切努力保持受众的兴趣,所以现如今许多品牌正在转向达人营销工具。当你拥有了许多…

面试篇——计算机网络面试核心问题汇总

前言 前言:总结前后端岗位面试中计算机网络部分常见的面试题。 文章目录前言一、OSI七层模型1、物理层2、数据链路层3、网络层4、传输层5、会话层6、表示层7、应用层8、网络数据处理的整个流程二、TCP/IP 四层模型三、TCP的三次握手1、TCP简介2、三次握手1&#xff…

预训练机制(3)~GPT、BERT

目录 1. BERT、GPT 核心思想 1.1 word2vec和ELMo区别 2 GPT​编辑 3. Bert 3.1 Bert集大成者 extension:单向编码--双向编码区别 3.2 Bert和GPT、EMLo区别 3.3 Bert Architecture 3.3.1 explanation:是否参数多、数据量大,是否过拟…

天干地支蓝桥杯国赛

题目 分析 蓝桥杯国赛2020简单模拟题&#xff0c;你敢信&#xff0c;就是弄两个字符串数组。重点在于知道0000年是从哪个天干和地支开始的。 代码 #include <iostream> using namespace std;int year;int main() {cin >> year;string tiangan[10] {"geng&…

rip路由协议

目录 1.rip路由协议介绍 2.版本 3.工作原理 4.缺点 5.RIP配置 1.rip路由协议介绍 RIP---路由信息协议/矢量路由选择协议&#xff08;Routing Information Protocol&#xff09;是基于距离矢量路由协议&#xff0c;最大的特点是利用跳数来最为计量的标准&#xff08;最多支…

【roLabelImg】windows下旋转框标注软件安装、使用、rolabelimg打包成exe

主要参考&#xff1a; roLabelImg安装、使用、数据格式roLabelImg在Win10系统下打包成exe - 问雪的文章 - 知乎 一、安装 1.1 直接下载exe运行 劝大家直接去下别人编译好的吧&#xff0c;本来是训练模型标记的&#xff0c;结果搞了半天去了解这个软件了&#xff0c;哎~ 我…

数仓实战 - 滴滴出行

项目大致流程&#xff1a; 1、项目业务背景 1.1 目的 本案例将某出行打车的日志数据来进行数据分析&#xff0c;例如&#xff1a;我们需要统计某一天订单量是多少、预约订单与非预约订单的占比是多少、不同时段订单占比等 数据海量 – 大数据 hive比MySQL慢很多 1.2 项目架…

【K6】使用InfluxDB和Grafana图像化展示k6.io的测试数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一&#xff1a;什么是K6二&#xff1a;K6的安装三&#xff1a;脚本准备四&#xff1a;执行脚本五&#xff1a;结果分析六、输出结果总结前言 ●&#x1f9d1;个人…

(考研湖科大教书匠计算机网络)第四章网络层-第六节4:边界网关协议BGP的基本工作原理

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;不同自治系统交流需要考虑的问题二&#xff1a;边界网关协议BGP概述三&#xff1a;BGP-4种的四种报文本节对应视频如下 【计算机网络微课堂&#x…

告警修复难?Zabbix+ChatGPT,轻松化解大胆尝试!

感谢本文作者小谈谈&#xff01; ○ 基于 Zabbix 能力&#xff0c;我们将告警发给了 ChatGPT&#xff0c;并通过企业微信内部应用的方式给出告警信息和修复建议。效果如下图&#xff1a; 摘 要 ChatGPT 是最近很火的 AI 智能机器人程序&#xff0c;2 个月活跃用户突破 1 亿&a…

java对象内存结构分析与大小计算

java对象内存结构Java对象保存在堆中时&#xff0c;由三部分组成&#xff1a;对象头&#xff08;object header&#xff09;&#xff1a;包括了关于堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本信息。所有java对象都有一个共同的对象头格实例数据&#xff08;Insta…

55个软件测试工具,正在做测试的你get到了吗

网络“黑色星期五”威胁&#xff0c;安全漏洞&#xff0c;网上银行盗窃&#xff0c;系统停机时间&#xff0c;以及许多这样的恶梦让全球的企业忧心忡忡难以入眠。确保性能具有加载的安全性和增强的经验是这个领域每个有能力的玩家所必备的。 我们为你提供了一个丰富的软件测试…

Word控件Spire.Doc 【Table】教程(15):如何在 C# 中对齐表格

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

Java字符流

5 字符流 5.1 为什么出现字符流 由于字节流操作中文不是特别的方便&#xff0c;所以Java就提供字符流字符流字节流编码表用字节流复制文本文件时&#xff0c;文本文件也会有中文&#xff0c;但是没有问题&#xff0c;原因是最终底层操作会自动进行字节拼接成中文&#xff0c;…

【面试题】对JS中的事件冒泡、事件捕获、事件委托的理解

大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库DOM事件流&#xff08;event flow &#xff09;存在三个阶段&#xff1a;事件捕获阶段、处于目标阶段、事件冒泡阶段。Dom标准事件流的触发的先…

ChatGPT的原理:机器人背后的模型

ChatGPT的原理&#xff1a;机器人背后的模型 翻译&#xff1a;老齐 本文将深入讲解支持 ChatGPT 的机器学习模型。从介绍大语言模型&#xff08;Large Language Models&#xff09;开始&#xff0c;深入探讨革命性的自注意力机制&#xff0c;该机制使 GPT-3 得以被训练。然后&a…

数据库查询计划:获取与分类

数据库在得到一个查询后&#xff0c;先将查询转化为一个逻辑查询计划&#xff0c;对其进行优化&#xff0c;然后转为物理执行计划&#xff0c;最后按照物理执行计划进行操作&#xff0c;最终得到最终结果。本篇博客介绍获得数据库查询计划的语法与物理计划的分类。 目录得到查询…

文件描述符fd

目录文件描述符fd系统文件IO接口介绍openclosewriteopen的函数返回值0 & 1 & 2文件描述符的分配规则重定向dup2系统调用FILE文件描述符fd 操作系统是文件的管理者&#xff0c;所有语言上的对“文件”的操作&#xff0c;都必须贯穿OS&#xff0c;又因为操作系统不相信任…

A_A07_003 AS608指纹模块上位机软件使用

A_A07_003 AS608指纹模块上位机软件使用一、软件获取二、测试用模块与接线三、上位机界面分块和功能1、指纹图像显示区域2、硬件信息3、打开设备4、设备配置5、信息显示6、图像管理7、指纹处理8、辅助功能四、注意事项一、软件获取 网盘链接 直戳跳转 二、测试用模块与接线 …

【Kubernetes】【五】资源管理和YML

第三章 资源管理 本章节主要介绍yaml语法和kubernetes的资源管理方式 资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 ​ kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务…