1、概述

  • MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。
    Read more »

1、概述

  • 在实际开发中,我们经常会遇到这样的情况:有2个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。
  • 这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用事务包裹起来,确保这两个操作成为一个原子操作,要么全部执行,要么全部不执行。要是遇到特殊情况,可能还需要对数据进行手动维护,这样就很容易忘记其中的一步,导致数据缺失。
  • 这个时候,咱们可以使用触发器。你可以创建一个触发器,让商品信息数据的插入操作自动触发库存数据的插入操作。这样一来,就不用担心因为忘记添加库存数据而导致的数据缺失了。
  • MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。
    Read more »

1、变量

  • 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。
  • 在MySQL数据库中,变量分为系统变量以及用户自定义变量
    Read more »

1、概述

  • MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程 序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。

存储过程概述

  • 含义:存储过程的英文是Stored Procedure。它的思想很简单,就是一组经过预先编译的SQL语句的封装。

  • 执行过程:存储过程预先存储在MySQL服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列SQL语句全部执行。

  • 好处:

    • 简化操作,提高了sql语句的重用性,减少了开发程序员的压力。
    • 减少操作过程中的失误,提高效率。
    • 减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)。
    • 减少了SQL语句暴露在 网上的风险,也提高了数据查询的安全性。
      Read more »

1、概述

  • 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。

  • 为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:

    • 实体完整性(Entity Integrity):例如,同一个表中,不能存在两条完全相同无法区分的记录。
    • 域完整性(Domain Integrity) :例如:年龄范围0-120,性别范围“男/女”。
    • 引用完整性(Referential Integrity) :例如:员工所在部门,在部门表中要能找到这个部门。
    • 用户自定义完整性(User-defined Integrity) :例如:用户名唯一、密码不能为空等,本部门经理的工资不得高于本部门职工的平均工资的5倍。
  • 约束是表级的强制规定。可以在创建表时规定约束(通过CREATE TABLE语句),或者在表创建之后通过ALTER TABLE语句规定约束。

    Read more »

1、MySQL中的数据类型

  • MySQL常用数据类型如下:

    1649663417127
Read more »

1、基础知识

1.1 一条数据存储的过程

  • 存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。

  • 那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在MySQL中, 一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。

Read more »

1、SQL分类

  • SQL语言在功能上主要分为如下3大类:
    • DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索 引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
      • 主要的语句关键字包括CREATE、DROP、ALTER、RENAME、TRUNCATE等。
    • DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记 录,并检查数据完整性。
      • 主要的语句关键字包括INSERT、DELETE、UPDATE、SELECT等。
      • SELECT是SQL语言的基础,最为重要。
    • DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和 安全级别。
      • 主要的语句关键字包括GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。
        Read more »

1、概述

1649319588674
  • MySQL是一个开放源代码的关系型数据库管理系统,由瑞典MySQL AB(创始人Michael Widenius)公司1995年开发,迅速成为开源数据库的No.1。
  • 2008被Sun收购(10亿美金),2009年Sun被Oracle收购。MariaDB应运而生。(MySQL的创造者担心MySQL有闭源的风险,因此创建了MySQL的分支项目MariaDB)
  • MySQL6.x版本之后分为社区版和商业版。
  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
    Read more »