一、数据库相关概念

 

               

 


  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的区别:

wherehaving 区别:

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

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

 



6.分页查询

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

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

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

 



posted on 2024-07-20 16:35  努力--坚持  阅读(16)  评论(0编辑  收藏  举报