《网页编程语言学习第10章.ppt》由会员分享,可在线阅读,更多相关《网页编程语言学习第10章.ppt(24页珍藏版)》请在金锄头文库上搜索。
1、MySQL数据库基础数据库基础 课程内容课程内容关系型数据库和关系型数据库系统 安装MySQL5数据库和表操作 数据操作 高级SQL应用 管理MySQL 吉林省三扬科技咨询有限公司http:/关系型数据库和关系型数据库系统关系型数据库的概念 关系型数据库系统的体系结构 吉林省三扬科技咨询有限公司http:/关系型数据库的概念 数据库是一个存储数据的地方,通常分为层次型数据库、网络型数据库和关系型数据库三种。当前,商品化的数据库管理系统仍然以关系型数据库为主。将现实世界中的各种实体以及实体之间的联系使用关系模型来表示,这就是关系型数据库。在关系模型中,实体之间的联系用关系来表示,关系是一个规范化
2、的二维表,以行和列的形式来存储数据。部门编号 部门名称 部门员工数 kf080101 开发部 150 xs080102 销售部 80 px080103 培训部 47 cw080104 财务部 35 rs080105 人事部 52 表头数据吉林省三扬科技咨询有限公司http:/关系型数据库的概念关系型数据库的几个概念:表:在关系型数据库中,表采用二维表格的形式来存储数据。在表中,数据按行与列的方式有规则的排列,一个数据库可以包含多个数据表。字段:数据表中的每一列称之为一个字段,数据表是由几个到几十个字段组成,每个字段代表了它所含有的数据的意义。记录:数据表中的每一行称之为一条记录,在记录中存放着
3、各种数据,一条记录可以将不同的数据存放在不同的字段中。主键:主键是一种约束。为了唯一区分表中的每一行记录,需要为表添加一个主键,添加主键可用来确保表中记录的唯一性,主键可建立在一个或多个字段上。此外,主键还是两个表进行关联的纽带,可将一个表的字段与另一个表的主键相关联。吉林省三扬科技咨询有限公司http:/关系型数据库的概念外键:如果一个表中的某个字段是另一个表中的主键,那么这个字段就称为外键,如员工表中的部门编号字段是部门表中的主键,部门编号字段在员工表中就称为外键。需要注意的一点是,外键和主键应具有相同的数据类型。索引:索引是对表中字段的值进行排序的一种数据结构,使用索引可更快速的检索特定
4、的信息。如员工表中,如果想通过员工编号查找员工姓名,则可以建立员工编号字段的索引,这样就能更快地检索到需要的信息。员工编号 员工姓名 部门编号 101 员工A xs080102 102 员工B px080103 吉林省三扬科技咨询有限公司http:/关系型数据库系统的体系结构 关系型数据库系统包括5个主要组成部分:硬件:指运行数据库系统的计算机,包括服务器和客户机。软件:主要是指运行数据库系统所使用的操作系统。关系型数据库管理系统(RDBMS)、数据库: RDBMS是位于操作系统和应用系统之间的数据库管理软件,数据库是指关系型数据库。关系型数据库应用系统:指为满足用户需求而开发的各种数据库应用
5、软件。人:人包括数据库管理员、应用程序员和最终用户。吉林省三扬科技咨询有限公司http:/安装MySQL5 下载MySQL5 安装MySQL5 配置MySQL5 测试MySQL5 吉林省三扬科技咨询有限公司http:/下载MySQL5MySQL5的官方网站是,在该网站上MySQL提供了一个免费的社区版和一个付费的商业版以给不同的用户下载。MySQL共有3种版本可供下载:标准版:这个版本对于大多数用户来说是适用的,它包括了MySQL的所有常用特性。完全版:这个版本除了包含标准版的所有特性,并且还有一些新的的功能,但是这些新的特性通常包含一些不稳定的因素。调试版:这个版本具有的功能和完全版一样,不
6、同的是调试版具有调试的功能,当需要详细的调试信息时可使用该版本,但是在发布的产品中不要使用,因为调试版的调试机制使得它的运行效率降低了。吉林省三扬科技咨询有限公司http:/下载MySQL5在Windows的下载页面还有几个不同的MySQL安装版本:Windows Essentials (x86):Windows基本版,一般用户可下载此版本。Windows基本版包含了MySQL在Windows中运行的大部分常用功能,但是不包括可选组件。Windows ZIP/Setup.EXE (x86):Windows完全版,包含了MySQL在Windows中运行的所有功能以及可选组件。Without in
7、staller (unzip in C:):Windows压缩版:与Windows完全版提供的功能一样,无需安装,只要解压缩即可使用。吉林省三扬科技咨询有限公司http:/高级SQL应用 连接 子查询 事务处理 吉林省三扬科技咨询有限公司http:/连接连接是指将两个或多个表中的数据组合成单个结果集的一种方法。在MySQL中共有4种连接:交叉连接:交叉连接返回连接表中所有数据行的笛卡尔积,结果集中的数据行数等于第一个表中的数据行数乘以第二个表中的数据行数。 内连接:内连接将返回与连接条件匹配的数据行。在内连接的SQL语句中使用INNER JOIN语句,其中INNER可以省略。 外连接:在使用内
8、连接时,返回与连接条件匹配的数据行,而外连接和内连接不同,外连接不仅返回与连接条件匹配的数据行,还可包含左表、右表或者左右表的所有数据。外连接可分为左外连接和右外连接。自连接 :自连接就是将表与它自身相关联,进行自连接时通过给表取不同的别名来区分一个表的两个实例。 吉林省三扬科技咨询有限公司http:/子查询 子查询是嵌套在另一个语句中的一个SELECT查询语句,它可嵌套的SQL语句包括:SELECTINSERTUPDATEDELETE其他子查询语句吉林省三扬科技咨询有限公司http:/事务处理 事务(transaction):其实就是一个操作单元,在这个单元里的所有操作要么都执行,要么都失败
9、。如果所有操作成功,事务则提交(commit)。即使一个操作失败,事务也将回滚(roll back),所有被影响的数据将恢复到以前的状态。 事务具有以下4个属性:原子性(ATOMICITY):事务的所有操作必须全部完成,否则系统将返回到事务以前的状态。一致性(CONSISTENCY):数据应处于一致的状态,事务应是使数据从一个一致性状态到另一个一致性状态之间的转换。隔离性(ISOLATION):一个事务发生的空间与另一个事务发生的空间没有交叉,即每个事务是独立执行的。持久性(DURABILITY):事务完成以后,即使系统出现故障,数据也可恢复到合法的状态。吉林省三扬科技咨询有限公司http:/
10、事务处理吉林省三扬科技咨询有限公司http:/管理MySQL 数据备份 用户权限与访问控制 性能优化 服务器管理 吉林省三扬科技咨询有限公司http:/数据备份 数据备份的重要性:数据对于系统来说其重要性是不言而喻的。然而,由于软件损坏、病毒入侵、错误操作以及其他意想不到的原因都有可能造成数据的丢失,如何才能将数据恢复到丢失以前的状态或者把损失减少到最小呢?一个妥善的备份管理是必不可少的。 在MySQL中,备份数据库可使用mysqldump,它是MySQL自带的一个工具,用它可把数据库和数据库中的表备份到一个文本文件中。 Mysqldump备份数据库的三种方式:备份单个数据库与表 一次备份多个
11、数据库与表备份系统内所有的数据库 吉林省三扬科技咨询有限公司http:/用户权限与访问控制 MySQL拥有一套自己的安全和权限系统,权限系统的主要作用是验证用户的登录并赋予已登录用户权限,这些权限不仅包括用户在数据库上进行的插入、修改、查询和删除操作,还包括对其他用户授权和管理服务器的操作。MySQL有三个自带的数据库,分别是information_schema、mysql和test,而账户权限信息就被存储在数据库mysql中的user、db、host、tables_priv、columns_priv和procs_priv表中。 当访问MySQL服务器时,MySQL会要求输入MySQL服务器运
12、行的主机名、用户名以及密码,其中主机名默认情况下为localhost。在命令提示符下访问MySQL的语法格式: MySQL -h host_name -u user_name puser_password吉林省三扬科技咨询有限公司http:/用户权限与访问控制访问控制:访问控制包括连接核实阶段和请求核实阶段,连接核实阶段是指,当连接MySQLMySQL服务器时,服务器会基于用户身份以及用户提供密码的正确是否来接受或拒绝连接。如果未通过核实,服务器会拒绝用户的访问,否则,服务器接受连接,然后进入请求核实阶段并且等待请求。建立连接以后,对在此连接上进来的每个请求,服务器将检查请求想执行什么操作,然
13、后检查是否有足够的权限来执行它,这就是请求核实阶段。给用户授权:要想建立一个具有某种权限的用户,前提条件是要保证自己得到这个级别的许可。我们知道在第一次安装MySQL服务器时,MySQL提供了一个管理员的帐号root,使用root帐号就可以增加新的用户并授予其一定的权限。 吉林省三扬科技咨询有限公司http:/性能优化 优化SQL查询 提高查询速度一个很重要的工具莫过于索引了,索引是数据库中重要的数据结构,使用索引很够很大程度的提高查询效率。 吉林省三扬科技咨询有限公司http:/性能优化虽然索引能够很大程度上提高查询效率,但是并非要在每个字段上都增加索引,滥用索引不仅不能改善性能,还可能造成
14、系统效率低下。使用索引最重要的一点就是合理性,下面是建立索引的几个原则: 在SQL语句中频繁进行GROUP BY和ORDER BY的字段上建立索引。使用唯一索引:如果数据是唯一的,尽量使用唯一索引,因为唯一索引更能提高系统性能。建立复合索引:设计一个良好的复合索引建立在多个列上。不使用索引:对于不同值很少的字段不要建立索引,如性别字段,只有两个值:男和女。吉林省三扬科技咨询有限公司http:/性能优化优化数据库服务器通过调节数据库服务的一些设置,也可在一定程度上更好的发挥MySQL的性能。在命令提示符中输入以下的命令可得到所有mysqld选项和可配置变量的列表:在MySQL服务器中,需要配置的
15、两个最重要的变量是key_buffer_size和table_cache,其中key_buffer_size控制索引缓冲可以使用的内存的数量,它的值越大,索引可使用的内存越多;table_cache控制表高速缓冲的大小,如果增加table_cache值可以更快速地访问表中的内容。 mysqld -verbose -help吉林省三扬科技咨询有限公司http:/服务器管理 服务器启动和关闭 :可通过控制面板中的服务选项来完成。服务器配置 :可通过图形化配置界面或php.ini配置文件 来完成。日志 :日志种类 日志内记录的信息 错误日志 记录启动、运行或停止服务器时出现的问题 查询日志 记录建立的客户端连接和执行的语句 更新日志 记录更改数据的语句。(不赞成使用该日志) 二进制日志记录所有更改数据的语句,还用于复制 慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询 吉林省三扬科技咨询有限公司http:/谢谢,再见吉林省三扬科技咨询有限公司http:/