第九章:第1节 MySQL基础篇——前言

更新于:2017-07-11 21:41:15

PHP的学习暂时告一段落,我们开始学习新知识——数据库(MySQL)。


首先,作为一名PHP程序员我们要明确一点,学习PHP的目的是为了什么?我们用PHP做什么?可不是简简单单去做个计算器什么的。学习PHP的最终目的就是利用PHP执行SQL语句去操作数据库(增、删、查、改),从而实现一个功能丰富的平台软件(网站程序也是软件)。


数据库是非常重要的,哪怕PHP学的再好,不懂数据库,那PHP就真的无用,单纯只学PHP是无意义的。数据库有很多种:

1.png

和PHP搭配最好的就是MySQL数据库了,做PHP项目基本上只用MySQL数据库。关于MySQL的一些题外话,发展历史、所属公司什么的去看(MySQL百度百科),我们后面只去学习怎么用MySQL。


MySQL数据库把数据存储在硬盘,PHP有对文件操作的能力。那有朋友会思考:我直接用PHP的各种文件操作函数把数据存在文件里可以吧,那就用不着借助MySQL存储数据了。可以这样想,但根本不能这样做。等我们学过MySQL就不会有这样的想法了,楠神可以先做个解释:


现在普通的一个小网站数据库都得几十M,往大了说多少G都有可能。一个文件存几十M,用editplus打开都挺费劲的。而且数据不是一篇文章,而是各种类型的数据都有,最常有的数据有会员的用户名、密码、手机号……存这些数据是不是得按照一定的数据结构去存储,这样才能很好地对数据增删查改。PHP文件操作函数只能在记事本里写写字符串,换换行什么的,包括整个PHP脚本都不适合开发出复杂高效的数据库功能,所以做程序都得需要调用第三方专业的数据库软件。


MySQL是独立出来的一个软件,我们的PHP程序在Apache等服务器执行时与MySQL建立起TCP连接,向MySQL传达SQL语句指令,就能做到操作数据的能力。对于Apache等服务器软件来说,用户的浏览器就是它的客户端。而Apache(或者说PHP脚本程序)就是MySQL的客户端,尽管它俩可能是放在同一服务器上。


注:在Apache中PHP属于它的一部分,是它的一个模块。在Nginx中PHP又是独立的,它们之间通过fast-cgi 协议连接,那PHP就是MySQL的客户端。推荐大家多去查找一些关于Apache、Nginx、CGI等相关的文章来看,对加深理解PHP很有帮助的。


高并发Web服务的演变——节约系统内存和CPU》》》


Apache与Nginx网络模型》》》


通俗地解释 CGI、FastCGI、php-fpm 之间的关系》》》


MySQL在PHP项目中的重要性:


1、一个项目的开启先从设计数据库开始,大部分的PHP代码围绕着数据库编写。


2、数据库里的数据是项目核心内容,代码可以重新写,内容没了,项目也就没了。


3、数据库数据的读取将是影响整个项目性能的关键,PHP代码除非写死循环了,不然它不是影响网站性能的关键。


学习MySQL的前期准备:


学习一门新知识,首先得有个参考的手册。MySQL也有一个比较官方的手册:

1.png

这个手册大部分人阅读起来比较困难,不如PHP手册好用,楠神平时也不看这个手册。楠神从其他地方搞了一个《MySQL核心知识纲要》,感觉很简洁,很实用,可以当成MySQL一个基础版的手册。大家可以直接在本站上浏览,也可以下载到本地。MySQL手册》》》


MySQL怎么安装?大家本地是否都用的PHP集成开发软件?那它就会自带MySQL的。MySQL大都是安装在Linux操作系统上的,没必要去学习怎么在Windows上安装MySQL。我们直接用集成软件上的MySQL就可以了。


1.png


PHPstudy本身自带MySQL


再推荐一款软件,Navicat,一个非常好用的数据库管理工具。

1.png


程序开发必备的一个工具,这里不提供下载了,大家可以去网上搜,很容易就会搜到。