mysql(库,表,字段的增删改查).doc
回顾
文件操作:目录操作和文件操作
通过资源形式进行操作:打开资源,从资源中读取数据,关闭资源
递归:子问题与父问题一致
递归点:调用函数本身去解决子问题
递归出口:想办法让函数执行结束
文件操作:PHP5和5以前
php5:file_get_contents和file_put_contents(覆盖追加),file
PHP4:资源形式进行操作:(fgetc/fgets/fread,fputs/fwrite)
文件下载:a标签形式和php输出
循环遍历目录及其子目录
代码见:demo01_homework_dir.php
快速排序
快速排序:以空间换时间,瞬间开辟大量内存空间运行N多函数(递归),从而达到节省时间的地步
快速排序原理
数据库知识
课程体系
mysql数据库学习分为三个阶段
第一个阶段:mysql基础知识,学习SQL编程,如何运用mysql+php进行编程
第二个阶段:mysql优化,效率提升(分表,索引等)
第三个阶段:数据库部署,服务器集群,负载均衡,读写分离
数据库
什么是数据库?
高效的保存数据和处理数据的介质
Database:DB
DBS:DatabaseSystem,数据库系统
数据库系统是做什么的?
专门用来管理数据库操作
DBS=DB+DBMS(DatabaseManagementSystem)+DBA
DBMS:真正的管理数据库的系统
DBA:DatabaseAdministrator,数据库管理员
数据库分类
数据库分为两类:关系型数据库和非关系型数据库
什么是关系型数据库?非关系型?
关系型数据库是一种建立在关系模型上的数据库。
关系模型:关系模型是在自然界存在的实体内部的联系或者实体不实体之间的联系,把联系抽象处理变成系统能够理解的模型。
实体:自然界中能够被看到的或者被解释到的具体的形体。
关系模型包含三个部分:完整性约束,关系结构。(回头查一下)
非关系型数据库:不是建立在关系模型上的数据库。(所有的不是关系型数据库的数据库都是非关系型数据库)。
关系型数据库
市面上的关系型数据库有很多,最常见的以下这些。
所谓的数据库的型号是按照数据库能够处理的数据量的多少以及并发量的多少来衡量。
小型:access,Sybase
中型:mysql,SqlServer
大型:DB2,Oracle
关系型数据库运行的介质是:磁盘
非关系型数据库
运行的介质:内存
非关系型数据库:memcached,mongodb,redis
对比
关系型和非关系型数据库的对比
相同点:
都是数据库(高效的存储和管理数据)
区别:
运行介质不一样
运行效率不一样,非关系型数据库远大于关系型数据库
数据存储的方式不一样:关系型数据库数据存储是依赖关系模型,而非关系型数据库的数据存储往往都是键值对:name=mark
安全性不一样:关系型更安全(非关系型数据库在静态的时候会将数据保存到磁盘上)
关系
关系型数据库就是数据存储在关系模型上,所谓的关系模型就是一张二维表。
关系型数据库:实体内部的联系或者实体与实体之间的联系
教学模型
实体:老师,学生,教室,班级
学生表
学号
姓名
性别
年龄
Itcast0001
张安怀
男
28
Itcast0002
严文
男
23
班级表
班级名称
专业
教室
PHP0925
PHP
B806
PHP0226
PHP
D307
以上信息维护的是实体内部的联系。
学生与班级之间的关系:实体间的关系
学号
姓名
性别
年龄
班级名称
Itcast0001
张安怀
男
28
PHP0925
Itcast0002
严文
男
23
PHP0925
班级表
班级名称
专业
教室
PHP0925
PHP
B806
PHP0226
PHP
D307
PHP1115
PHP
在关系型数据库中,如果一个数据的某个信息不全面,系统也需要提供空间进行数据保存的预留。
关系型数据库比较浪费磁盘空间。
mysql
mysql是一种关系型数据库,数据的存储介质是磁盘,存储方式是二维表。
mysql是一种c/s结构软件:客户端和服务端
客户端:连接操作服务端,获取服务端的数据并进行显示
服务端:存储和管理数据
客户端与服务端往往在不同的电脑上。
虚拟:假设我本机的mysql服务端不在我的电脑上。
工作流程
mysql客户端的工作的步骤
开始服务端
windows下通过服务进行开启
客户端连接认证
连接:-hhost主机名–Pport端口
认证:-uusername用户名–ppassword用户密码
客户端的任务
准备SQL语句
发送SQL语句给服务端
解析SQL执行的结果
服务端的任务
监听端口:3306
接收请求:连接认证请求/SQL语句请求
执行SQL语句