MySQL基础概念

684 阅读3分钟

最近参加了一个打卡学习群,补习一下MySQL的知识。打卡要求便是输出博客。

软件安装及环境配置

MySQL的安装与配置我便不在这里赘述了。因为我使用的是Mac系统,因此图形化工具使用的是navicat premium。百度上面有如何破解的,如果你也需要可以自己去百度一下。

数据库的基本概念

什么是数据库

  • 定义:数据库就是按照一定数据结构存储数据的仓库。
  • 解释:其实我们可以理解为就是存储数据的地方。放在计算机中来说的话,就是存取数据的软件

关系型数据库

  • 定义:建立在关系型模型基础上的数据库
  • 解释:具体什么叫关系型数据库我觉得我们没有必要深究,我觉得我们可以简单的下个定义,就是使用关系表的数据库。

二维表

二维表其实就是关系表,二维表是由行和列组成的。

行就是元组,是一组相关的数据,里面包含描述一件事务的若干个键。例如:

num Name Age sex
1 godfrey 18 female
2 nero 20 female

其中num为1的就是为一行数据

列就是相同键类型的数据集合,例如上表中的num、name、age、sex都给自为一列

主键

  • 什么是主键:一个表中能表示元组唯一性的列,一个表中只能有一列
  • 解释:就是说这个列的值不能有重复。

MySQL

MySQL与数据库的关系

可以说MySQL是数据库的一个实例,遵循数据库的设计原则。同时因为MySQL是关系型数据库,所以MySQL也可以说是关系表的集合。

数据表

数据表就是存放数据的地方,在MySQL中数据表就是关系表。

视图

视图就是结果集,就是我们使用查询语句返回的表。

视图的特性
  • 视图是虚表,是由若干个基础表组成的
  • 视图支持增删改查,但是有限制条件
视图的作用

视图主要是用来控制权限,我们可以参考如下使用场景,我们现在有一个成绩单要公布出来,但是想要实现匿名制,也就是说每个人都可去查询最高分、最低分、每个分段有多少人等等信息,这是我们可以使用视图,事先查询好一个隐藏姓名的成绩视图,然后以供其他人在这个表的基础上查询

视图的基础语法
VIEW `view_user_course` AS (
    SELECT
        `uc`.`id` AS `id`,
        `u`.`name` AS `username`,
        `c`.`name` AS `coursename`
    FROM Student Where age >10;
);

查询语句的结果就会返回给‘view_user_course’视图,我们之后需要查询什么可以直接在视图上面查询。

SELECT
    id,
    username,
    age
FROM
    view_user_course
WHERE
    username = '小张'

存储过程

存储过程通俗的来说就是编程中的函数或者方法,有输入输出,有if、while等控制语句、还可以声明变量。就像是一个函数。而且存储过程有一个很重要的有点是,只有第一次会编译执行,之后便是直接被调用执行,速度会相较于查询语句更快,因为查询语句是每次都要编译再执行。