数据库(数据库相关概念、MySQL数据库、SQL(DDL、DML、DQL))

1.数据库相关概念

数据库

  • 存储数据的仓库,数据是有组织的进行存储
  • 英文:DataBase,简称 DB
    数据库管理系统
  • 管理数据库的大型软件
  • 英文:DataBase Management System,简称 DBMS
    SQL
  • 英文:Structured Query Language,简称SQL,结构化查询语言
  • 操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准
    图片
    常见的关系型数据库管理系统
    图片
  • Oracle:收费的大型数据库,Oracle 公司的产品
  • MySQL:开源免费的中小型数据库。后来Sun公司收购了MySQL,而 Sun 公司又被Oracle收购
  • SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用
  • PostgreSQL:开源免费中小型的数据库
  • DB2:IBM公司的大型收费数据库产品
  • SQLite:嵌入式的微型数据库。如:作为Android内置数据库
  • MariaDB:开源免费中小型的数据库
    2.MySQL数据模型

关系型数据库
关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库

  • 优点:
            1.都是使用表结构,格式一致,易于维护。
            2.使用通用的SQL语言操作,使用方便,可用于复杂查询。
            3.数据存储在磁盘中,安全。
    图片
    图片
    3.SQL简介&通用语法&分类

SQL简介

  • 英文:Structured Query Language,简称 SQL
  • 结构化查询语言,一门操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准
  • 对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
    SQL通用语法
    1.SQL语句可以单行或多行书写,以分号结尾。
    2. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
    3.注释
  • 单行注释:-- 注释内容或#注释内容(MySQL特有)        注意:–后面有空格不然报错
  • 多行注释://注释//
    SQL分类
  • DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等
  • DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
  • DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
  • DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
    图片
  • DDL:操作数据库,表等
  • DML:对表中的数据进行增删改
  • DQL:对表中的数据进行查询
  • DCL:对数据库进行权限控制
    最重要是DML和DQL
    4.DDL–对于数据库的操作

  1. 查询
    SHOW DATABASES;
  2. 创建
  • 创建数据库
    CREATE  DATABASE  数据库名称;
  • 创建数据库(判断,如果不存在则创建)
       CREATE  DATABASE  IF  NOT  EXISTS  数据库名称;
    3.删除
  • 删除数据库
    DROP  DATABASE  数据库名称;
  • 删除数据库(判断,如果存在则删除)
    DROP  DATABASE  IF  EXISTS  数据库名称;
  1. 使用数据库
  • 查看当前使用的数据库
    SELECT DATABASE();
  • 使用数据库
    USE  数据库名称;
    图片
    5.DDL–操作表

  • 创建(Create)
  • 查询(Retrieve)
  • 修改(Update)
  • 删除(Delete)

(1)DDL–操作表-查询&创建

查询表

  • 查询当前数据库下所有表名称
    SHOW  TABLES;
  • 查询表结构
    DESC  表名称;
    图片
    创建表
    图片
    注意:最后一行末尾,不能加逗号
    图片

(2)DDL–操作表-数据类型

MySQL支持多种类型,可以分为三类:

  • 数值
  • 日期
  • 字符串
    图片
    图片

(3)DDL–操作表-修改&删除

删除表

  1. 删除表
    DROP  TABLE  表名;
    2.删除表时判断表是否存在
    DROP  TABLE  IF  EXISTS  表名;
    修改表
  2. 修改表名
    ALTER  TABLE  表名  RENAME  TO  新的表名;
  3. 添加一列
    ALTER  TABLE  表名  ADD  列名  数据类型;
    3.修改数据类型
    ALTER  TABLE  表名  MODIFY   列名  新数据类型;
    4.修改列名和数据类型
    ALTER  TABLE  表名  CHANGE  列名  新列名  新数据类型;
  4. 删除列
    ALTER  TABLE  表名  DROP  列名;
    图片
    图片
    图片

6.图形化客户端工具Navicate

Navicat

  • Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案。
  • 这套全面的前端工具为数据库管理、开发和维护提供了一款直观而强大的图形界面。
  • 官网:http://www.navicat.com.cn
    图片
    图片
    7.DML–操作数据-添加&修改&删除

添加数据
1.给指定列添加数据
INSERT  INTO  表名(列名1,列名2…)  VALUES(值1,值2…);
2. 给全部列添加数据
INSERT  INTO  表名  VALUES(值1,值2…);
3.批量添加数据
INSERT  INTO  表名(列名1,列名2…)  VALUES(值1,值2…),(值1,值2…),(值1,值2…;
INSERT  INTO  表名  VALUES(值1,值2,…),(值1,值2,…),(值1,值2…;
不建议省略列名
图片
修改数据
1.修改表数据
UPDATE  表名  SET  列名1=值1,列名2=值2…[WHERE条件];
注意:修改语句中如果不加条件,则将所有数据都修改!
图片
删除数据

  1. 删除数据
    DELETE  FROM  表名  [WHERE 条件];
    注意:删除语句中如果不加条件,则将所有数据都删除!
    8.DQL

查询语法
图片

  • 基础查询
  • 条件查询(WHERE)
  • 分组查询(GROUP  BY)
  • 排序查询(ORDER  BY)
  • 分页查询(LIMIT)

(1)基础查询

1.查询多个字段
SELECT  字段列表  FROM  表名;
SELECT  /* FROM  表名;-- 查询所有数据。不要使用!!!
2.去除重复记录
SELECT  DISTINCT  字段列表  FROM  表名;
3. 起别名
AS:AS 也可以省略
图片
图片
图片
也可以不写as,但是列名和别名需要用空格隔开

(2)条件查询

  1. 条件查询语法
    SELECT  字段列表  FROM  表名  WHERE  条件列表;
    图片
    图片
    图片
    图片
    图片
    图片
    图片

(3)排序查询

1.排序查询语法
SELECT  字段列表  FROM  表名  ORDER  BY  排序字段名1  [排序方式1],排序字段名2  [排序方式2]…;
排序方式:

  • ASC:升序排列(默认值)(从小到大)
  • DESC:降序排列(从大到小)
    注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
    图片
    图片

(4)聚合函数

聚合函数
1.概念:
将一列数据作为一个整体,进行纵向计算。
2. 聚合函数分类:
图片
3.聚合函数语法:
SELECT  聚合函数名(列名)FROM  表;
注意:null值不参与所有聚合函数运算
图片
图片
建议count(/*)
图片
图片
null不参加任何聚合函数的计算

(5)分组查询

1.分组查询语法
SELECT  字段列表  FROM  表名  [WHERE分组前条件限定]  GROUP  BY  分组字段名  [HAVING分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where 和 having 区别:

  • 执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
  • 可判断的条件不一样:where不能对聚合函数进行判断,having可以。
    执行顺序:where > 聚合函数 > having
    图片
    图片
    图片
    图片
    图片
    图片
    图片
    图片

(6)分页查询

1.分页查询语法
SELECT  字段列表  FROM  表名  LIMIT  起始索引,查询条目数;

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

  • 分页查询limit是MySQL数据库的方言

  • Oracle分页查询使用rownumber

  • SQL Server分页查询使用top
    图片

    《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

请添加图片描述

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

请添加图片描述

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

在这里插入图片描述

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

在这里插入图片描述

面试真题/经验

请添加图片描述

以上资料如何领取?

img

sdnimg.cn/direct/5458f21c6efa4e739621ffb5d4309b20.jpeg#pic_center)

面试真题/经验

请添加图片描述

以上资料如何领取?

img

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐