mysql学习之路

Posted 清华大咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql学习之路相关的知识,希望对你有一定的参考价值。

                Mysql

php阶段将数据库分为三个阶

基础阶段:

mysql数据库的基本操作(增删改查),以及一些高级操作(视图,触发器,函数,存储过程等),PHP操作没有sql数据库。

优化阶段:

如何提高数据库效率,如索引,分表等。

部署阶段:

如何搭建真实的系统环境,如服务集群,负载均衡。

 

 

 

数据库基础

什么是数据库:

数据库:database ,存储数据的仓库(高效的存储和处理数据库的介质如磁盘、内存)

数据库分类:

1,关系型数据库:(sql型)

2,非关系型数据库(nomysql型)not only

不同数据卡产品:

关系型数据库:大型:Oracle DB2

              中型:SQLserverMysql

              小型:access

非关系型数据库:mencahedmoogodbredis2

数据库的区别->两种阵营

关系型database:安全(保存在磁盘,不会丢失),浪费空间。

非关系型数据库:效率高(不够安全)

关系型数据库:

1,什么是关系型数据库:

建立在关系模型上的数据库(数学模式)

关系模型:建立在关系上的模型,三个方面。

1,数据结构:数据存储问题,二维表的行列结构

2,Sql指令集合:sql语句。

3,完整性约束:表内数据约束,表与表之间的约束。

2,关系型数据库的设计:

关系型数据库:从需要存储的数据需求分析,如果是一类数据(实体)->设计成二维表->表头(字段名field)和数据部分(实际存储单元);

二维表:行与列,

例:

表头

字段1

字段2

字段3

数据单元

数据1

数据2

数据3

 

 

实际案例:教师负责讲学,教学生,在教室。

1,找出实体。教师表,学生表,教室表。

2,找出实体数据信息: (教师)姓名,性别,年龄,工资

                    (学生)姓名,性别,年龄,学号

                  (班级)班级编号,教室号

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

1,实体内部的联系:每个学生都有姓名、性别、学科、学号。

 

                   学生表

 

姓名

性别

学号

学科

班名

张三

001

软件工程

软件工程001

小强

001

机械工程

机械工程001

 

                   

第二行所有字段:都是在描述张三这个学生(内部联系)第二列只能是性别(内部约束)。

 

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

 

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

班名

教室编号

软件工程001

001

机械工程001

002

 

                

 

班级实体与学生实体之间的联系:实体与实体之间的联系

 

3,关键字说明:

数据库:database

数据库系统:DBS database system):虚拟系统,将多种内容关联起来的称呼

DBS=DBMS+DB

DBMS:database mangerment system数据库管理系统,专门管理数据库。

DBAdatabase Administrator 数据库管理员。

 

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

/字段 column/filed,本质是一个东西。

 

SQL

Structured Query language(结构化查询语言)数据库以查询为主,98%都是查询操作。

SQL分为三个部分:

DDLdata Definition Language 数据定义语言-->用来维护存储数据的结构(数据库,表)

代表指令:create drop alter

DMLdata manipulation Language 数据库操作语言-->用来对数据进行操作(数据表中的内容)

代表指令:insert delete updata等其中DML内部又进行分类:DQLdatabase Query Language)数据查询语言,如select

DCLdata contral Language 数据控制语言-->主要负责权限的管理(用户)

代表指令:grant revoke等。

 

 

SQL简介:

Sql是关系型数据库的操作指令

Sql是一种约束,但不强制(类似玩w3c组织)如Oraclemysql内部有细微的区别。

 

Mysql

Mysql数据库是一种c/s结构,客户端/服务端若想要访问服务器必须通过客户端(服务器一直运行,客户端在需要的时候运行),

 

交互方式

1,客户端连接认证:连接服务器认证身份

2,发送sql指令

3,服务器接受服务器指令,处理sql指令返回操作结果。

4,客户端接受操作结果,显示结果。

5,断开连接(释放资源,服务器并发限制)。

 

Mysql服务器对象

没有办法完全理解服务器内部的内容:

只能粗略的分析数据库服务器内部结构

mysql数据库分为四层:

系统(DBMS)->数据库(BD)->数据表(table)->字段(filed

 

 

SQL基本操作:

基本操作:CRUD

sql的基本操作根据对象分为三类

1,库操作2,表操作3,数据操作

库操作:

数据库的增删改查。

新增数据库:create database 库名 [库选项]

 

库选项:约束数据库,分为两个选项。

字符集的设定:charset /character set +具体字符集(数据存储的编码格式,一般两种格式GBKutf8

校对集设定:collate +具体校对集(数据库比较规则)

-- 双中下划线注释(单行注释,也可以用#

其中数据库不能用关键字(已经被使用的字符或保留字(将来可能会用到))。

 

以上是关于mysql学习之路的主要内容,如果未能解决你的问题,请参考以下文章

MySQL学习总结之路(第二章:表)

MySQL学习总结之路(第三章:数据类型)

《MySQL DBA封神打怪之路》专栏学习大纲

MySQL学习之路MySQL高级查询

MySql 学习之路-高级1

MySQL学习之路 MySQL基础操作