首页 > 数据库 >MySQL数据库 DQL操作

MySQL数据库 DQL操作

时间:2024-07-20 16:59:52浏览次数:13  
标签:-- 数据库 MySQL 查询 分组 SQL DQL SELECT

一、数据库相关概念

 

               

 


  1.数据库
    存储数据的仓库:数据是有组织的进行存储
    英文:DataBase,简称 DB

  数据库就是将数据存储在硬盘上,可以达到持久化存储的效果


  2.数据库管理系统: 管理数据库的大型软件
    英文:DataBase Management System,简称 DBMS


  3.SQL
    英文:Structured Query Language,简称 SQL,结构化查询语言
    操作关系型数据库的编程语言
    定义操作所有关系型数据库的统一标准

  

             

 

  4.常见的关系型数据库管理系统

  Oracle:收费的大型数据库,Oracle 公司的产品
  MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购
  SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用
  PostgreSQL:开源免费中小型的数据库
  DB2:IBM 公司的大型收费数据库产品
  SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库
  MariaDB:开源免费中小型的数据库

二、SQL简介和分类


  1.SQL简介

  英文:Structured Query Language,简称 SQL。结构化查询语言,一门操作关系型数据库的编程语言;定义操作所有关系型数据库的统一标准;对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”。

  2.SQL通用语法

  1).SQL 语句可以单行或多行书写,以分号结尾。以分号结尾才是一个完整的sql语句。

  2). MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

  3) . 注释:

    单行注释: -- 注释内容 或 #注释内容(MySQL 特有)

    注意:使用-- 添加单行注释时,--后面一定要加空格,而#没有要求。

    多行注释: /* 注释 */


  3.SQL 分类

  DDL:操作数据库,表等
  DML:对表中的数据进行增删改
  DQL:对表中的数据进行查询
  DCL:对数据库进行权限控制

 如下图:

     

 

 

  DDL:(Data Definition Language) 数据定义语言,用来定义数据库对象:数据库,表,列等

  DML:(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改
  DQL:(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)
  DCL:(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户



 

 

 

  三、MySQL的DQL操作
  1.基础查询

  语法 :

--查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据

--去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;

--起别名
AS: AS 也可以省略

 


  2.条件查询

--条件查询

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

 

条件列表可以使用以下运算符

 

 

  3.排序查询

 

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

--上述语句中的排序方式有两种,分别是:

ASC : 升序排列 (默认值)
DESC : 降序排列

> 注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

 


  4. 聚合函数

 

  聚合函数分类:

        

 

 

  聚合函数语法:

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

注意:null 值不参与所有聚合函数运算

  

 

 例如:查询数学成绩的平均分

 

select avg(math) from stu;

 


  5.分组查询

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

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

 


where和having的区别:

where 和 having 区别:

-- 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。

-- 可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。

 



6.分页查询

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

注意: 上述语句中的起始索引是从0开始

起始索引计算公式:起始索引 = (当前页码 - 1) * 每页显示的条数

 



标签:--,数据库,MySQL,查询,分组,SQL,DQL,SELECT
From: https://www.cnblogs.com/kongsq/p/18313338

相关文章

  • 基于Flask + MySQL + PyQt5 +QtChart + HTML + js + CSS 的新冠数据大屏
    项目数据来源covid19_city_20211224.xlsx功能介绍数据清洗、存储数据增晒改查功能数据条件查询柱状图可视化饼状图可视化曲线图可视化雷达图可视化折线图可视化地图可视化使用到的库B端HTMLjsCSSechartsajaxC端PyQt5QtChartsqlalchemyFlaskMySQL项目启动安......
  • 使用Java和Neo4j构建图数据库应用
    使用Java和Neo4j构建图数据库应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代应用开发中,图数据库在处理复杂的关系和网络数据时表现出色。Neo4j是一个流行的图数据库,它允许我们以图的形式存储和查询数据。本文将介绍如何使用Java和Neo4j构......
  • 怎么解决SQL数据库服务器拒绝访问呢。
    原文链接:https://zhidao.baidu.com/question/1970390820900997820.html1,如果出现这样的情况,首先我们要排查对方的机器ip或者服务器的ip是否拼得通,如果拼不通,那肯定连接不上了,那就要看看是防火墙有没有阻止ip的拼接,如果ping得通,那就与这个无关了。2,上面能拼得通,就说明能够连接得......
  • idea内置数据库DataGrip + 多表查询sql语句 -- 内连接与外连接
    多表查询内连接与外连接--——————————多表查询--用的是多表设计中一对多的表与数据--单表select*fromtb_dept;select*fromtb_emp;--多表select*fromtb_emp,tb_deptwheretb_emp.dept_id=tb_dept.id;--==============内链接没有联系的查......
  • 记一个引起MYSQL死锁Deadlock found when trying to get lock; try restarting transac
    一、记一个引起MYSQL死锁Deadlockfoundwhentryingtogetlock;tryrestartingtransaction的例子  今天在尝试MYSQL事务的时候,这种情况总会引起死锁,不知道为什么,我使用的测试MYSQL表的创建SQL如下:CREATETABLE`user`(`id`int(10)unsignedNOTNULLAUTO_INC......
  • Spring Book Club + java查询数据库 + 百万数据 + 同步Elasticsearch(ES)+ 多线程 + Fei
    @FeignClient(name="bwie-elastic")publicinterfaceEsFeign{@PostMapping("/add")publicResultadd(@RequestBodyArrayList<ResourceInfo>resourceInfo);}@RestControllerpublicclassUserControllerimplementsApplica......
  • 图书管理系统(Java--数据库课设)
    1、课程设计要求:实现用户的登陆与注册用户要区分是管理员还是普通用户管理员能够对图书的数量、名称等进行增删改查在书未归还时不可删除用户能够对图书进行查看和借书以及还书,并记录具体时间书数量不足时不能够对书籍进行借用2、代码逻辑以及基础解释        ......
  • 简化Android数据管理:深入探索SQLite数据库
    SQLite数据库在Android中的使用SQLite是一种精巧的、轻量级的、无服务器的、零配置的、事务性SQL数据库引擎。相较于其他数据库系统,SQLite更适用于需要轻量级解决方案的移动应用场景。本文将详细介绍SQLite数据库在Android中的使用,包括数据库的创建、表的建立、数据的增删......
  • 超详细的MySQL基本使用教程(1) 黑马程序员javaweb学习笔记+练习(附带idea新版ui图形化页
    什么是数据库MySQL概述数据模型关系型数据库SQL简介小结DDL-数据库的设计数据库的常见操作选中该语句然后点运行就成功运行了可以直接用图形化界面进行操作跳转到控制台表的常见操作1.创建练习在db01中创建这张表其中comment是鼠标悬停在......
  • SqlServer数据库图片存取方式
    在数据库中存取图片文件一般有2中方式,一存储字节流,二存储图片存放路径,这里分别介绍一下两种方式。数据库示例表createdatabsemydbgousemydb--示例表1用户表(存储图片字节流)createtableusers(idintidentity(1,1)primarykey,usernamevarchar(30),photoimage)......