PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者 孔祥盛 8

上传人:E**** 文档编号:89426418 上传时间:2019-05-25 格式:PPT 页数:37 大小:1.91MB
返回 下载 相关 举报
PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者  孔祥盛 8_第1页
第1页 / 共37页
PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者  孔祥盛 8_第2页
第2页 / 共37页
PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者  孔祥盛 8_第3页
第3页 / 共37页
PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者  孔祥盛 8_第4页
第4页 / 共37页
PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者  孔祥盛 8_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者 孔祥盛 8》由会员分享,可在线阅读,更多相关《PHP编程基础与实例教程 工业和信息化普通高等教育“十二五”规划教材立项项 教学课件 ppt 作者 孔祥盛 8(37页珍藏版)》请在金锄头文库上搜索。

1、PHP编程基础与实例教程 PHP Fundamentals & Practices,第 8 章 MySQL数据库,主讲:孔祥盛,本章大纲,8-1 数据库概述 8-2 数据库的设计 8-3 MySQL简介 8-4 字符集 8-5 MySQL数据库管理 8-6 数据库表的管理 8-7 表记录的更新操作 8-8 表记录的查询操作 8-9 MySQL特殊字符序列,8-1 数据库概述,1. 数据库 数据库是一种专门存储信息和维护信息的容器,严格地说数据库是“按照数据结构来组织、存储和管理信息的仓库”。 外观上,数据库中的二维表(简称数据库表)和电子表格Excel是相同的。数据库表是由列和行构成,数据库表

2、中的一列称为一个字段,每个字段用于存储某种数据类型的数据;数据库表中的一行称为一条记录,每条记录包含表中的一条详细信息。,8-1 数据库概述,2. 数据库 数据库是一种专门存储信息和维护信息的容器,严格地说数据库是“按照数据结构来组织、存储和管理信息的仓库”。 外观上,数据库中的二维表(简称数据库表)和电子表格Excel是相同的。数据库表是由列和行构成,数据库表中的一列称为一个字段,每个字段用于存储某种数据类型的数据;数据库表中的一行称为一条记录,每条记录包含表中的一条详细信息。,8-1 数据库概述,2. 关系数据库管理系统(RDBMS) 关系数据库管理系统(RDBMS或relational

3、database management system)就是管理关系数据库的软件系统。关系数据库管理系统主要功能就是创建关系数据库,并且在关系数据库中创建各种数据库对象(表、索引、视图、存储过程等)以及维护各个数据库对象。对于初学者而言,关系数据库管理系统最重要的功能莫过于创建数据库、创建数据库表以及完成数据库表记录的添加、修改、删除和查询等操作。,8-1 数据库概述,3. 结构化查询语言SQL 结构化查询语言的英文全称是structured query language,简称SQL。SQL是一种应用广泛的关系数据库语言,用于定义和管理关系数据库中的各种对象(表、索引、视图、存储过程等),也可以

4、用于查询、修改和删除数据库表中的记录。,8-2 数据库的设计,0. 预备 数据库的设计一般要从E-R模型开始,之后的步骤如下: 1为每个实体建立一张表 2为每个表选择一个主键(建议添加一个没有实际意义的字段作为主键) 3增加外键以表示一对多关系 4建立新表表示多对多关系 5定义约束条件 6评价关系的质量,并进行必要的改进(关于范式等知识请参考其他数据库书籍) 7为每个字段选择合适的数据类型和取值范围,8-2 数据库的设计,1. E-R模型 E-R(Entity-Relationship)模型即实体-关系模型主要用于定义数据的存储需求,该模型已经广泛用于关系数据库设计中。E-R模型由实体、属性和

5、关系三个基本要素构成。,8-2 数据库的设计,2. 主键(Primary Key) 数据库表要求表中的每一行记录都必须是唯一的,即在同一张表中不允许出现完全相同的两条记录。在设计数据库时,为了保证记录的“唯一性”,最为普遍、最为推荐的做法是为表定义一个主键(primary key)。数据库表中主键有以下两个特征: 1表的主键可以由一个字段构成,也可以由多个字段构成(这种情况称为复合主键)。 2数据库表中主键的值具有唯一性且不能取空值(NULL),当数据库表中的主键由多个字段构成时,每个字段的值不能取NULL值。,8-2 数据库的设计,3. 实体间的关系与外键(Foreign Key) 班级实体

6、和班主任实体之间为一对一关系,班级实体和学生实体之间为一对多关系,学生实体和课程实体之间为多对多关系。实体间的关系可以通过外键来表示。如果表A中的一个字段a对应于表B的主键b,则字段a称为表A的外键。此时存储在表A中字段a的值,同时这个字段值也是表B主键b的值。,8-2 数据库的设计,4. 约束(constraint) 常用的约束条件有六种: 主键(primary key)约束 外键(foreign key)约束 唯一性(unique)约束 默认值(default)约束 非空(not NULL)约束 检查(check)约束,8-3 MySQL简介,1. MySQL服务器的启动 复习第一章的内容

7、,8-3 MySQL简介,2. 连接MySQL服务器 启动MySQL服务器后,需要使用MySQL客户端成功打开一个MySQL服务器连接,才能实现与MySQL数据库之间的交互,如图所示。MySQL提供了MySQL console命令窗口客户端实现与MySQL服务器之间的交互。,8-3 MySQL简介,1. MyISAM和InnoDB存储引擎 MyISAM具有检查和修复表格的大多数工具。MyISAM表可以被压缩,而且支持全文搜索,但MyISAM表不是事务安全的,而且也不支持外键(Foreign Key)。如果某个数据库表需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好

8、的选择。 InnoDB存储引擎是事务安全的,并且它还支持外键,如果需要一个事务安全的存储引擎,建议使用InnoDB。如果某个数据库表需要执行大量的insert或update语句,出于事务安全方面的考虑,InnoDB存储引擎是更好的选择。,8-4 字符集,1. 字符集简介 字符(Character)是指人类语言最小的表义符号,例如A、B等。 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这个数值就是字符的编码(Character Encoding)。 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set)。MySQL中提供了多种

9、字符集,例如latin1、utf8、gbk等。 字符序(Collation)是指在同一字符集内字符之间的比较规则。只有确定字符序后,才能在一个字符集上定义什么是等价的字符,以及字符之间的大小关系。每个字符序唯一对应一种字符集,一个字符集可以对应多种字符序,其中有一个是默认字符序(Default Collation)。,8-4 字符集,1. 字符集简介 MySQL中的字符序命名规则:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci或cs或bin末尾。例如:latin1字符集对应有latin1_swedish_ci、latin1_spanish_ci、latin1_ge

10、rman1_ci等字符序。以ci结尾的字符序表示大小写不敏感;以cs结尾的字符序表示大小写敏感;以bin结尾的字符序表示按编码值比较。例如在字符序gbk_general_ci规则中,字符a和A是等价的。,8-4 字符集,2. MySQL字符集 character_set_client:客户端(MySQL命令窗口)的字符集(未加说明的是latin1字符集) character_set_connection:连接层字符集 character_set_database:当前选中数据库的字符集 character_set_filesystem:MySQL服务器文件系统的字符集,默认的字符集为binar

11、y character_set_results:结果集的字符集 character_set_server:MySQL服务器的字符集 character_set_system:元数据(字段名、表名、数据库名等)字符集,默认的字符集为utf8,8-4 字符集,3. MySQL中的字符集转换过程,8-4 字符集,4. MySQL字符集的设置 以MySQL的字符集设置为gbk为例,MySQL字符集的设置有三种方法。 方法一:最为常用的字符集设置方法为修改MySQL的配置文件my.ini中的配置,例如将default-character-set = latin1和character_set_server

12、 = latin1修改为default-character-set = gbk和character_set_server = gbk。保存修改后的my.ini配置文件,重启MySQL服务器即可将latin1默认字符集修改为gbk默认字符集。,8-4 字符集,4. MySQL字符集的设置 方法二:MySQL提供的下列命令可以在不影响其它数据库字符集的基础上临时修改当前的字符集(学生管理系统数据库中字符集的设置使用的是第二种方法): SET character_set_client = gbk; SET character_set_connection = gbk; SET character_s

13、et_database = gbk; SET character_set_results = gbk; SET character_set_server = gbk; SET collation_connection = gbk_chinese_ci ; SET collation_database = gbk_chinese_ci ; SET collation_server = gbk_chinese_ci ;,8-4 字符集,4. MySQL字符集的设置 方法三:MySQL中还可以使用MySQL命令:“set names gbk;”一次性地设置character_set_client、c

14、haracter_set_connection和character_set_results的字符集为gbk。,8-4 字符集,5. SQL脚本文件 在MySQL命令窗口上编辑MySQL命令或SQL语句是很不方便的,更多时候需要将常用的SQL语句封装为一个SQL脚本文件,然后在MySQL命令窗口上运行该SQL脚本文件中的所有SQL语句(SQL脚本文件的扩展名一般为sql)。 在MySQL命令窗口中输入MySQL命令:“. C:wampwwwsqlinit.sql”或“source C:wampwwwsqlinit.sql”即可执行init.sql脚本文件,8-5 MySQL数据库管理,1. 创建

15、数据库 2. 选择当前操作的数据库 3. 显示数据库结构 4. 删除数据库,8-6 数据库表的管理,0. 预备 create table语句的语法格式如下: create table table_name( column_name1 数据类型 约束条件, , column_namen 数据类型 约束条件 );,8-6 数据库表的管理,1. 数据类型 MySQL共有3种数据类型,分别是数值类型、字符串类型和日期类型。 数值类型之整数类型 数值类型之精确小数类型 字符串类型之定长字符串类型 字符串类型之变长字符串类型 字符串类型之文本类型 日期类型之日期类型 日期类型之日期时间类型,8-6 数据库

16、表的管理,2. MySQL中的附加属性 MySQL还提供了一些附加属性用于修饰数据类型,例如NULL和auto_increment。 NULL MySQL提供了附加属性NULL,NULL的意义为“没有值”或“不确定的值”。 auto_increment 如果需要为某个表的某个字段进行唯一编号,以标识每条记录,在MySQL中可以将该字段设置为auto_increment(自动增长)。,8-6 数据库表的管理,3. 创建数据库表 4. 显示数据库表结构 5. 删除数据库表 创建数据库表的顺序,8-7 表记录的更新操作,1. 表记录的添加 2. 表记录的修改 3. 表记录的删除,8-8 表记录的查询操作,0. 预备 select语句语法格式为: select字段列表 from 数据源 where过滤条件 group by 分组表达式 having 分组过滤条件 order by 排序表达式 asc|desc ;,8-8 表记录的查询操作,1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号