mysql数据库项⽬式教程期末_MySQL完整教程(共8章)正⽂
【第⼀章】
1.1 MySQL学习路线
基础阶段:MySQL数据库的基本操作(增删改查),以及⼀些⾼级操作(视图、触发器、函数、存储过程等)。
优化阶段:如何提⾼数据库的效率,如索引,分表等。
部署阶段:如何搭建真实的环境系统,如服务器集,负载均衡等。
1.2 数据库的基础
1.2.1 什么是数据库?
数据库:database,存储数据的仓库。
数据库(专业定义):⾼效的存储和处理数据的介质(介质主要是两种:磁盘和内存)。
1.2.2 数据库的分类?
基于存储介质的不同
关系型数据库(SQL)
⾮关系型数据库(NoSQL)
1.2.3 不同的数据库阵营中的产品有哪些?
关系型数据库:
⼤型数据库:Oracle、DB2。
中型数据库:SQL Server、MySQL等。
⼩型数据库:access等。
⾮关系型数据库:
memached
mogodb
redis
1.2.4 两种数据库阵营的区别?
关系型数据库:安全(保存磁盘基本不可能丢失),容易理解,⽐较浪费空间。
⾮关系型数据库:效率⾼,不安全(断电会丢失)。
1.3 关系型数据库
边框图片高清1.3.1 什么是关系型数据库?
关系型数据库:是⼀种建⽴在关系模型(数学模型)上的数据库。
关系模型:⼀种所谓建⽴在关系的模型,关系模型包括以下三个⽅⾯:
数据结构:数据存储的问题,⼆维表(有⾏和列)。
操作指令集合:所有SQL语句。
完整性约束:表内数据约束,表与表之间约束(外键)。
mysql查看所有存储过程
1.3.2 关系型数据的设计?
从需要存储的数据需求中分析,如果是⼀类数据(实体,⽐如⼈、书本等)应该设计成⼀张⼆维表,表是由表头(字段名)和数据部分(实际存储的数据单元)组成,如下图所⽰。
表头
字段1
字段2
数据单元
数据1
数据2
以实际案例来进⾏处理:分析⼀个教学系统,讲师负责教学,教学⽣,在教室教学。
①出系统中的实体:讲师表,学⽣表,班级表。
②出实体中应该存在的数据信息:
织梦cms侵权责任
讲师:姓名,性别,年龄,⾝⾼,⼯资等。
学⽣:姓名,性别,学好,学科等。
班级:班级名字,教室编号等。
关系型数据库:维护的是实体内部,实体与实体之间的联系。
实体内部的联系:每个学⽣都有姓名,性别,学号,学科,年龄等信息。
姓名
性别
学号
学科
年龄
张三
001
java
23
李四
002
MySQL
王⼆
003
Linux
第⼆⾏的所有字段,都是描述张三这个学⽣(内部联系);第⼆列只能存放性别(内部约束)。
关系型数据库的特点之⼀:如果表中对应的某个字段没有值(数据),但是系统依然需要分配空间,所以关系型数据库⽐较浪费空间。实体与实体之间的联系:每个学⽣属于某个班级,每个班级⼀定有多个学⽣(⼀对多)。
学⽣表:
姓名
性别
学号
学科
年龄
张三
001
java
23
李四
002
MySQL
王⼆
003
Linux
17
班级表:
班级名称
教室编号
java001
A001
Linux002
B005
解决⽅案:在学⽣表中增加⼀个班级字段来指向班级(必须能够唯⼀的到⼀个班级信息)
姓名
性别
学号
年龄
所属班级
张三
什么时候用typedef001
java
23
java001
李四
dubbo中文网
002
MySQL
MySQL005
王⼆
003
Linux
17
Linux002
学⽣实体与班级实体之间的关系:实体与实体之间的关系。
1.4 关键字说明
数据库:database。
数据库系统:database system(DBS):是⼀种虚拟系统,将多种内容关联起来的称呼。DBS=DBMS+DB。
DBMS:数据库管理系统,database management system,专门管理数据库。
DBA:数据库管理员,database administrator。
⾏/记录:row/record,本质是⼀个东西,都是指表中的⼀⾏(⼀条记录)。⾏是从结构⾓度,记录是从数据⾓度出发。
列/字段:column/Field,本质是⼀个东西。
1.5 SQL
SQL:Structured Query Language,结构化查询语⾔(数据主要以查询为主)。
SQL分为三个部分:
DDL:Data Definition Language,数据定义语⾔。⽤来维护存储数据的结构(数据库,表),代表指令:create、drop、alter等。
DML:Data Manipulation Language,数据操作语⾔,⽤来对数据进⾏操作(数据表中的内容),代表指令:Insert、delete、update等。其中DML内部⼜单独进⾏了⼀个分类:DQL(Data Query Language:数据查询语⾔,如select)。
createfontindirect
DCL:Data Control Language,数据控制语⾔,主要负责权限管理,代表指令:grant、revoke等。
SQL是关系型数据库的操作指令,SQL是⼀种约束,但不强制(类似于W3C),所以不同的关系型数据库产品(Oracle,MySQL等)内部可能有⼀些细微的差别。
1.6 MySQL数据库
MySQL数据库是⼀种C/S结构的软件:客户端/服务端,如果想访问服务器必须通过客户端(服务器⼀直运⾏,客户端在需要使⽤的时候运⾏)。
交互⽅式:
①客户端连接认证:连接服务器,认证⾝份。
②发送SQL指令。
③服务器接收SQL指令,处理SQL指令,返回操作结果。
④客户端接收结果,显⽰结果。
⑤断开连接(释放资源:服务器并发限制)。
1.7 MySQL服务器对象
没有办法完全了解服务器内部的内容:只能粗略的去分析数据库服务器的内部结构。
将MySQL服务器内部对象分成了四层:
系统(DBMS)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。