电力出版社《PHP+MySQL开发实例教程》全套课件(第7章)_第1页
电力出版社《PHP+MySQL开发实例教程》全套课件(第7章)_第2页
电力出版社《PHP+MySQL开发实例教程》全套课件(第7章)_第3页
电力出版社《PHP+MySQL开发实例教程》全套课件(第7章)_第4页
电力出版社《PHP+MySQL开发实例教程》全套课件(第7章)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP+MySQL开发实例教程ISBN号:978-7-5083-7194-8作者:毛书朋聂庆鹏653工程指定教材第7章MYSQL数据库与结构化查询语言(SQL)7.1MYSQL数据库系统简介7.2MYSQL的安装与初始化设置7.3MYSQL中的数据类型7.4结构化查询语言(SQL)7.5MYSQL用户管理7.6MYSQL可视化管理工具——PHPMyAdmin

7.7边学边做:MySQL安装与使用综合练习7.8本章小结7.9练习题7.1MYSQL数据库系统简介7.1.1Web开发与数据库动态网站开发离不开数据存储,数据存储则离不开数据库。在前面的章节中,我们曾做过一个例子,将注册用户的信息存储在一个文本文件中,可以在以后取用。这使得网站可以增加很多交互性因素。但是文本文件并不是存储数据的最理想方法。数据库技术的引入是给网站开发带来的巨大的飞跃。7.1MYSQL数据库系统简介7.1.1Web开发与数据库所谓数据库,可以理解为用来存储信息的“仓库”。而“信息”就是我们要存储下来的一些数据。比如用户的姓名、年龄,产品的价格、简介,某一个日期时间甚至图像等等。总之一切可以在计算机中存储下来的数据都可以通过各种方法存储到数据库中。7.1MYSQL数据库系统简介7.1.1Web开发与数据库信息并不是杂乱无章的直接放入数据库,而是以二维表的形式组织起来,一条一条存储于表中。这和我们日常生活中经常用到的各种表格形式上是一致的。表中的每一条信息称为一条“记录”。一个数据库中可以有若干张表,每张表中又可以存放若干条记录。比如前面讲到的用户注册程序,每一个用户的信息,比如用户名、密码、头像等,就可以作为一条记录,存储在一张表中。7.1MYSQL数据库系统简介7.1.1Web开发与数据库学号姓名性别年龄001张三男18002李四女19003王五男20…………7.1MYSQL数据库系统简介7.1.1Web开发与数据库那么把数据以这种形式存放在数据库中能给我们带来什么好处呢?采取数据库技术可以给数据的存储和检索带来巨大好处,主要可以归纳为以下四点:数据存储集约化,最大限度节省存储空间。数据库专门的检索引擎能够极大提高数据检索速度。数据库结构化查询语言(SQL)给数据管理带来了极大便利。可以方便地对数据进行查询、增加、删除、修改。7.1MYSQL数据库系统简介7.1.1Web开发与数据库当前市场上的数据库有几十种,其中有如Oracle、SQLServer等大型网络数据库,也有如Access、VFP等小型桌面数据库。对于网站开发而言,一般来说中小型数据库系统就能满足要求。Mysql就是当前Web开发中尤其是PHP开发中使用最为广泛的数据库。

7.1MYSQL数据库系统简介7.1.2Mysql数据库简介MySQL是MYSQLAB公司开的一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。7.1MYSQL数据库系统简介7.1.2Mysql数据库简介

MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python等编程语言的编程接口,支持多种字段类型并且提供了完整的操作符。

7.1MYSQL数据库系统简介7.1.2Mysql数据库简介

2001年MySQL4.0版本发布。在这个版本中提供了新的特性:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能等。目前,MySQL已经发展到MySQL5.1,功能和效率方面都得到了更大的提升。

7.1MYSQL数据库系统简介7.1.2Mysql数据库简介大概是由于PHP开发者特别衷情于MySQL,因此才在PHP中建立了完美的MySQL支持。在PHP中,用来操作Mysql的函数一直是PHP的标准内置函数。开发者只需要用PHP写下短短几行代码,就可以轻松连接到Mysql数据库。PHP还提供了大量的函数来对MySQL数据库进行操作,可以说,用PHP操作Mysql数据库极为简单和高效,这也使得PHP+MySQL成为当今最为流行的Web开发语言与数据库搭配之一。7.1MYSQL数据库系统简介7.1.2Mysql数据库简介当然,PHP支持的数据库远远不止MySQL一种。根据PHP官方提供的资料,PHP支持几乎全部当前主流的数据库。但是PHP和Mysql的搭配无论从性能上还是到易用性上都毫无疑问的成为了开发者的首选。此外,还有一个重要原因就是PHP和MySQL都是免费和开放源代码的,并且都有良好的跨平台特性。这使得搭建Web服务器的成本几乎为零,而且开发出来的程序具有可移植性,这些都是吸引开发者的重要原因。7.2MYSQL的安装与初始化设置下载Mysql的安装包http://

或http://

解压缩,得到一个“setup.exe”的安装文件双击此文件启动安装程序安装配置验证MySQL安装是否成功“开始”->“运行”,输入“cmd”开始”->“程序”->“附件”->“命令提示符”7.3MYSQL中的数据类型为了对不同性质的数据进行区分,以提高数据查询和操作的效率,数据库系统都将可存入的数据分为多种类型。如姓名、性别之类的信息为字符串型,年龄、价格、分数之类的信息为数字型,日期等为日期时间型。这就有了数据类型的概念。就像编程语言一样,每种数据库都有自己支持的若干种数据类型。在数据库中建立表时,我们首先要考虑的就是这个表需要设置多少字段以及每个字段的数据类型。7.3MYSQL中的数据类型Mysql数据库中的数据类型分为三大类:数值类型、日期时间类型和字符串类型。各大类中包含的具体类型及其取值范围见表7-27.4结构化查询语言(SQL)结构化查询语言(StructuredQueryLanguage),最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言。SQL结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL得到了广泛的应用。如今无论是像Oracle、Sybase、SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些桌面数据库开发系统,都支持SQL语言作为查询语言,Mysql同样也不例外。7.4结构化查询语言(SQL)StructuredQueryLanguage包含4个部分:1、数据查询语言:SELECT2、数据操纵语言:INSERT,UPDATE,DELETE3、数据定义语言:CREATE,ALTER,DROP4、数据控制语言:COMMITWORK,ROLLBACKWORK7.4结构化查询语言(SQL)SQL可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,高级的命令通过学习也不难掌握。SQL可以完成的功能包括:●查询数据●在表中插入、修改和删除记录●建立、修改和删除数据对象●控制对数据和数据对象的存取●保证数据库一致性和完整性7.4结构化查询语言(SQL)7.4.2数据定义语言(Create/Alter/Drop)1、CREATE/SHOW/USE语句

CREATE语句可以用来创建新的数据库和表。SHOW语句用来显示当前所有数据库或当前数据库下的所有表。下面看一个例子。7.4结构化查询语言(SQL)7.4.2数据定义语言(Create/Alter/Drop)事例:mysql>CREATEDATABASEstudent;mysql>SHOWDATABASES;mysql>USEstudent;

mysql>CREATETABLEinfo(namechar(20),sex(2),agetinyint(2));mysql>SHOWTABLES;7.4结构化查询语言(SQL)7.4.2数据定义语言(Create/Alter/Drop)2、ALTER语句

Alter语句用来修改一个表的定义。也就是说修改表自身。如修改表的名字,修改表中某个字段的名字、属性、类型等(也可以用于修改数据库的部分属性)。看下面的例子:mysql>ALTERTABLEinfoCHANGEnamexingmingCHAR(20);mysql>ALTERTABLEinfoADDaddr

CHAR(50);mysql>ALTERTABLEinfoDROPaddr;7.4结构化查询语言(SQL)7.4.2数据定义语言(Create/Alter/Drop)3、DROP语句DROP语句用来删除一个数据库或者一个表。如果是删除一个数据库,那么这个数据库下的所有表也将被删除。如以下语句:mysql>DROPDATABSED1;mysql>DROPTABLEtbl1;7.4结构化查询语言(SQL)7.4.3数据操作语言(Insert/Update/Delete)1、INSERT语句INSERT语句用来向表中插入新的数据记录。每次插入一条。

mysql>INSERTINTOinfoVALUES(“张三”,”男”,20);7.4结构化查询语言(SQL)7.4.3数据操作语言(Insert/Update/Delete)2、UPDATE语句UPDATE语句可以对表中现有的记录进行修改。1)修改全部记录的某个字段的值mysql>UPDATEinfoSETage=25;2)修改满足某条件的记录mysql>UPDATEinfoSETage=23WHEREname=”张三”;7.4结构化查询语言(SQL)7.4.3数据操作语言(Insert/Update/Delete)3、DELETE语句DELETE语句用来删除表中的记录。可以一次删除全部记录,也可以删除满足指定条件的记录。1)删除表中的全部记录mysql>DELETEFROMinfo;2)删除满足条件的记录mysql>DELETEFORMinfoWHEREsex=”女”;7.4结构化查询语言(SQL)7.4.4数据查询语言(Select)1)查询全部记录全部字段

mysql>SELECT*FROMinfo;2)查询全部记录部分字段mysql>SELECTname,ageFROMinfo;3)查询满足某个条件的记录mysql>SELECT*FROMinfoWHEREage<19;4)查询某些记录,并对结果进行排序

mysql>SELECT*FROMinfoWHEREsex=”女”ORDERBYageASC;“ASC”改为“DESC”7.5MYSQL用户管理前面我们进入MYSQL控制台,使用的是MYSQL的超级管理用户。即用户名为root的用户。事实上在实际应用中一台数据库服务器往往多人同时使用,这时如果只有一个用户帐号显然不够用。而且root用户拥有对数据库的全部权限,可以对数据库进行任意操作,我们当然不希望这个账号被一个一般的管理员使用。因此就需要在MYSQL中分配帐号,每个帐号可以管理各自的数据库,不能越权。这样可以很好的提高数据库的安全性。在MYSQL中,增加新用户的方法主要有两个:一是直接向MYSQL用户表中插入新纪录;二是使用grant授权命令。7.5MYSQL用户管理MYSQL的用户帐号和密码以及权限等信息,都存储在一个名为“mysql”的数据库的“user”表中(MYSQL安装完成后自动创建,可以在控制台下查看)。分别执行以下两个命令:mysql>usemysql

mysql>select*fromuser;这时可以看到类似于下面样式的返回结果(以下结果进行过简化)

+-----------+-------+------------------+-------------+-------------+------------|Host|User|Password……|%|root|1c8bc9fa64c40b82……+-----------+-------+------------------+-------------+-------------+------------1rowsinset(0.00sec)7.5MYSQL用户管理新安装的MYSQL,一般USER表中有两个用户,分别是root和匿名用户。匿名用户即不需要用户名和密码即可进入系统的用户。在user表中,前三个字段Host、User、Password分别表示登陆主机、用户名和密码。登陆主机表示此用户允许登陆的主机地址,即IP地址。“%”表示任意主机。如果本用户只能从本地登陆,不允许远程登录,可以用“localhost”或本机IP地址。用户密码用加密方式存储,因此看到的密码是一串无规则的字符串。从第四个字段以后的字段,表示权限状态。即该用户是否有某权限。这些权限包括查询权限、修改权限、删除权限等等。7.5MYSQL用户管理创建新用户以及为用户分配权限的第二种方法是使用GRANT命令。GRANT命令功能强大,相比于直接插入用户简单的多,因此是采用比较多的方法。下面我们来介绍一下GRANT命令的语法结构:GRANTpriv_type[(column_list)][,priv_type[(column_list)]...]ON{tbl_name|*|*.*|db_name.*}TOuser_name[IDENTIFIEDBY'password'][,user_name[IDENTIFIEDBY'password']...][WITHGRANTOPTION]

这是完整的GRANT语句语法结构。看起来比较复杂。使用本命令可以一次创建多个MYSQL帐号。实际上我们在实际应用中一般一次就创建一个用户,这样的话语法结构就可以简化为:GRANTpriv_type[(column_list)]]ON{tbl_name|*|*.*|db_name.*}TOuser_name[IDENTIFIEDBY'password']7.5MYSQL用户管理而到了具体的语句中,还可以继续简化。如:mysql>GRANTALLONDB1.*to“Nie”IDENTIFIEDBY“123456”;此语句执行之后创建用户Nie,密码123456,该用户对数据库DB1拥有全部权限。GRANT——关键字,表示授权语句开始。priv_type——权限类型。可以是select/delete/update/create/drop/alter等任意一种。如果是全部权限,可以用allprivileges,并且可以简写为all。ON{tbl_name|*|*.*|db_name.*}——声明此用户可以操作哪些数据库以及哪些表。声明可以使用以下4种方法之一:

7.5MYSQL用户管理tbl_name

:直接指定表名。如info。*:任意表*.*:任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论