跳至主要內容
多表查询

多表查询是从多张表中一次性的查询出我们想要的数据


h7mlmysqlmysql小于 1 分钟
事物

事务

概述

数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令

事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败

事务是一个不可分割的工作逻辑单元。

这些概念不好理解,接下来举例说明,如下图有一张表

image-20220910095758027
image-20220910095758027

h7mlmysqlmysql大约 3 分钟
约束

约束

image-20220910100133140
image-20220910100133140

上面表中可以看到表中数据存在一些问题:

  • id 列一般是用标示数据的唯一性的,而上述表中的 id 为 1 的有三条数据,并且 马花疼 没有 id 进行标示

  • 柳白 这条数据的 age 列的数据是 3000,而人也不可能活到 3000 岁

  • 马运 这条数据的 math 数学成绩是-5,而数学学得再不好也不可能出现负分

  • 柳青 这条数据的 english 列(英文成绩)值为 null,而成绩即使没考也得是 0 分


h7mlmysqlmysql大约 9 分钟
DDL:操作数据库

DDL:操作数据库

我们先来学习 DDL 来操作数据库。而操作数据库主要就是对数据库的增删查操作。

查询

查询所有的数据库

SHOW DATABASES;

h7mlmysqlmysql大约 1 分钟
DDL:操作表

DDL:操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)。

查询表

  • 查询当前数据库下所有表名称

我们创建的数据库中没有任何表,因此我们进入 mysql 自带的 mysql 数据库,执行上述语句查看

image-20220910090749302
image-20220910090749302

h7mlmysqlmysql大约 3 分钟
数据库设计

数据库设计

数据库设计简介

  • 软件的研发步骤

    image-20220910095431929
    image-20220910095431929
  • 数据库设计概念

    • 数据库设计就是根据业务系统的具体需求,结合我们所选用的 DBMS,为这个业务系统构造出最优的数据存储模型。
    • 建立数据库中的表结构以及表与表之间的关联关系的过程。
    • 有哪些表?表里有哪些字段?表和表之间有什么关系?
  • 数据库设计的步骤

    • 需求分析(数据是什么? 数据具有哪些属性? 数据与属性的特点是什么)

    • 逻辑分析(通过 ER 图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)

      如下图就是 ER(Entity/Relation)图:

      image-20220910095440504
      image-20220910095440504
    • 物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)

    • 维护设计(1.对新的需求进行建表;2.表优化)

  • 表关系

    • 一对一

      • 如:用户 和 用户详情
      • 一对一关系多用于表拆分,将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能
      image-20220910095444549
      image-20220910095444549

      上图左边是用户的详细信息,而我们真正在展示用户信息时最长用的则是上图右边红框所示,所以我们会将详细信息查分成两周那个表。

    • 一对多

      • 如:部门 和 员工

      • 一个部门对应多个员工,一个员工对应一个部门。如下图:

        image-20220910095448786
        image-20220910095448786
    • 多对多

      • 如:商品 和 订单

      • 一个商品对应多个订单,一个订单包含多个商品。如下图:

        image-20220910095451925
        image-20220910095451925

h7mlmysqlmysql大约 5 分钟
DML

DML 主要是对数据进行增(insert)删(delete)改(update)操作。

添加数据

给指定列添加数据

INSERT INTO 表名(列名1,列名2,) VALUES(1,2,);

h7mlmysqlmysql大约 2 分钟
数据库相关概念

数据库相关概念

今日目标:

  • 完成 MySQL 的安装及登陆基本操作
  • 能通过 SQL 对数据库进行 CRUD
  • 能通过 SQL 对表进行 CRUD
  • 能通过 SQL 对数据进行 CRUD

以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。

假设在文件中存储以下的数据:

姓名 年龄 性别 住址
张三 23 男 北京西三旗
李四 24 女 北京西二旗
王五 25 男 西安软件新城

h7mlmysqlmysql大约 3 分钟
SQL概述

SQL 概述

了解了数据模型后,接下来我们就学习 SQL 语句,通过 SQL 语句对数据库、表、数据进行增删改查操作。

SQL 简介

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

通用语法

  • SQL 语句可以单行或多行书写,以分号结尾。

    image-20220910090836346
    image-20220910090836346

    如上,以分号结尾才是一个完整的 sql 语句。

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

    同样的一条 sql 语句写成下图的样子,一样可以运行处结果。

    image-20220910090831935
    image-20220910090831935
  • 注释

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

      image-20220910090829243
      image-20220910090829243

      image-20220910090824707 GFDWQ 111111111111111111111

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

    • 多行注释: /* 注释 */


h7mlmysqlmysql大约 2 分钟