MySQL基础学习之大战MySQL

2020-12-08 15:02:58 浏览数 (1)

每日一句,送给最珍贵的你:

花起初是浅白的,就像罩在河上的雾,浅白色像晨光的脚,银白色像黎明的翅膀。

上次小编安装好了MySQL以及Navicat Premium 15,于是小编决定先学习MySQL基础啦。可能会有小伙伴会问现在又用不到,学它干嘛,很多东西的价值并不是在当时就能体现出来的,它必然是一个长期的过程。就如读书一样,虽然小编对其它文学书籍的阅读少了许多,但还是会时不时看看,总觉得阅读能让人摆脱些困惑,哈哈哈,扯远了。

MySQL·总体

对于MySQL的学习,可分为三个阶段;

  1. 基础阶段:(MySQL的基础操作:增删改查)还有一些高级操作:视图,触发器,函数,存储过程等。
  2. 优化阶段:如何提高数据库效率,如索引,分表等。
  3. 部署阶段:如何搭建真实的环境系统,如服务器集群,负载均衡。

MySQL·认识(数据库基础)

1.什么是数据库?

数据库:database,存储数据的仓库,也是高效的存储和处理数据的介质(磁盘(ROM)和内存(RAM)

To:再次提醒,手机上的存储空间叫磁盘或者只读存储器,如128G空间大小;而大家所叫的内存其实是很小的(相较于只读存储器),也叫主存,如8G内存,12G内存。

2.数据库的分类?

数据库分类:基于存储介质的不同可分为两类:关系型数据库(SQL)和非关系型数据库(Nosql:Not Only SQL,不是关系型的数据库都可叫非关系型数据库)。

3.不同的数据库阵营中产品有?

关系型数据库:大型(Orcle,DB2) 中型(SQL-server Mysql等) 小型(access等)。

非关系型数据库:redis(同步技术,同步到磁盘)

4.关系型数据库和非关系型数据库阵营有哪些区别?

关系型数据库:安全(保存到磁盘基本上不会丢失),容易理解比较浪费空间(二维表存储)

非关系型数据库:效率高,不安全(断电容易丢失)。

MySQL·认识(关系型数据库)

1.什么是关系型数据库?

关系型数据库:是一种建立在关系模型(数学模型)上的数据库。

关系模型:一种建立在关系上的模型,关系模型包含三个方面:

  • 数据结构:数据存储的问题,二维表(包括行和列)。
  • 操作指令集合:所有SQL语句。
  • 完整性约束:表内数据约束(字段与字段),表与表之间(外键)。

2.关系型数据库的设计?

关系型数据库设计:从需要存储的数据需求中分析,如果是一类数据(实体)应该设计成一张二维表,表是由表头(字段名:用来规定数据的名字)和数据单元组成(实际存储的数据单元)二维表,如下:

表头

字段名1

字段名2

数据单元

数据1

数据2

以实际案例为例(教学系统)分析:老师负责教学,教学生,在教室教学生。

对于个体单独分析:

  • 找出系统中所存在的实体:讲师表,学生表,班级表
  • 找出实体中应该存在的数据信息:(一)老师:姓名,性别,年龄,工资 (二)学生:姓名,性别,学号,学科 (三)班级:班级名字,教室编号

即:关系型数据库是维护实体内部,实体与实体之间的联系。

实体内部联系:每个学生都有性别,学号,学科信息。

姓名

性别

学号

学科

年龄

小明

001

C

20

小Q

002

C

如上表格所示:第二行的所有字段,都是在描述小明学生(称为内部联系);第二列只能放性别(内部约束)。

关系型数据的特点之一:如果表中的对应的某个字段没有值或数据(如小Q的年龄),但是系统依然要分配空间:即关系型数据库比较浪费空间。

其中实体与实体之间的联系:某个学生肯定属于某个班级,每个班级一定有多个学生(一对多)。

MySQL·认识(关键字说明)

数据库:database。

数据库系统:DBS(Database System):是一种虚拟系统,将多种内容关联起来的称呼

数据库管理员:(DBA:Database Administrator)。

数据库管理系统:(DBMS:Database Management System)专门管理数据库。

行/记录:row/record,本质是一个东西,都是指表中的一行(一条记录):行是从结构角度出发,记录是从数据出发 。

列/字段:column/field:本质也是同一个东西。

关于SQL

SQL:(structured Query Language,结构化查询语言(数据主要以查询为主,其中99%是在查询操作))。

SQL还可分为三个部分:

DDL:(Data Definition Language)数据定义语言,用来维护存储数据的结构(数据库,表),其代表指令:create,drop,alter等。

DML:(Data Manipulation Language)数据操作语言,用来对数据进行操作(数据表中的内容),代表指令:insert,delete,update等,其中DML内部又单独进行了一个分类:DQL(Data Query Language:数据查询语言,如:select)

DCL:(Data Control Language)数据控制语言,主要是负责权限管理(用户),代表指令:grant,revoke等。

0 人点赞