1 / 31

第 10 章 数据库的选择、创建及管理

第 10 章 数据库的选择、创建及管理. 顾名思义,数据库就是数据存储的仓库,其实这么说并不准确,数据库并不单单是用于存储数据,其还可以对数据进行组织,管理等操作。

Download Presentation

第 10 章 数据库的选择、创建及管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第10章 数据库的选择、创建及管理 • 顾名思义,数据库就是数据存储的仓库,其实这么说并不准确,数据库并不单单是用于存储数据,其还可以对数据进行组织,管理等操作。 • PHP可以支持大部分的数据库,例如:Adabas D、MySQL、dBase、Oracle、Empress、PostgreSQL、FilePro、Solid、Informix、Sybase、InterBase、Velocis、mSQL、Unix dbm、SQL Server、SQLite和Access等。其中MySQL、PostgreSQL、SQLite是比较常见的开源数据库,本章会对这些数据库作一个简单的介绍。

  2. 10.1 常用数据库简介 • 在大型项目中,甲骨文公司开发的Oracle数据库,受到很多程序员的青睐。虽然PHP也支持Oracle数据库,但是因为相对配置复杂,本节将不会进行介绍,有兴趣的读者,可以查询相关资料。本节主要介绍的是在Windows平台,以及UNIX/Linux平台下运行的常用数据库。

  3. 10.1.1 小型关系型数据库MySQL • MySQL是从开源数据库起家的,使用C和C++编写。MySQL在实际应用中,受到了很好的评价,以致于很多网站平台,都选择使用其做为网站的数据库。随着MySQL的广泛应用,MySQL也推出了收费的企业版本,但还是可以从官方网站上,下载免费的个人版本。 • MySQL一开始被定义为小型关系型数据库,但到在最新的5.1版本中,MySQL已经表现出了很多重要的特性,这大大提升了其在数据库市场上的竞争力。 • 下面大体了解一下MySQL数据库的主要特性: • 跨平台作业:MySQL可以部署在不同的操作系统。 • 支持的编程语言:C、C++、Eiffel、Java、Perl、PHP、Python、Ruby、Tcl的API。 • 多线程技术:充分发挥多CPU的优势。 • 存储引擎:提供了事务性和非事务性存储引擎。 • 磁盘表:使用“B树”磁盘表,即:MyISAM。 • 内存管理:基于线程的内存分配系统。

  4. 10.1.2 开放源代码的数据库PostgreSQL • PostgreSQL是一款开源的数据库管理系统,其理念非常先进,并且支持大部分 SQL 2003的标准。 • PostgreSQL支持很多特性,如:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等,同时通过扩展PostgreSQL也可以增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。 • PostgreSQL数据库,可以部署在目前大部分的操作系统中,从小型网站项目到大型工程,PostgreSQL数据库都是一个不错的选择。而且PostgreSQL的许可证的非常灵活,不管是私用、商用、还是学术研究,都可以免费使用、修改、分发PostgreSQL。 • 读者可以在PostgreSQL的官方网站上,下载最新的安装版本,同时网站还提供相关的技术文档和用户文档。PostgreSQL官方网站:http://www.postgresql.org/。

  5. 10.1.3 轻量级数据库SQLite • SQLite是一款软量级的数据库,支持大部分SQL92/SQL99的标准。SQLite数据库最大的好处在于,不用安装,无需配置,也不需要管理员。 • SQLite数据库是以1个文件的形式存在,把其这个文件制到任何支持SQLite数据库的操作系统上,都可以使用,这使得SQLite可以用于一些小型网站,以及移动设备上。下面列出SQLite的一些特性,在选择数据库时,供读者参考: • 支持多种开发语言:C、PHP、Perl、Java、ASP.NET、Python。 • 数据库文件最大:2TB。 • 零配置:无需安装和管理配置 • 可移植:同1个数据库文件,可以在不同的操作系统中使用。 • 事务:支持ACID事务。s • 储存:数据库存储在单一磁盘的一个文件中。 • 独立:没有依赖其他库或插件。

  6. 10.2 MySQL的安装配置与管理 • 本书介绍的开发环境WAMP中,已经介绍了Apache与PHP的安装过程,在本节中将介绍了怎么获取MySQL,并在Windows系统上布部署的方法,以及怎么样配置安装好的MySQL服务,同时介绍与MySQL相关的管理工具。

  7. 10.2.1 安装MySQL前的准备 • 在程序运行中,计算出来的结果,通常需要进行保存,供其他程序使用,而最简单方法,就是把数据保存到文件中,但是其性能很有限,一旦数据达到一定的数量,检索和编辑数据,就是件很困难的事。而这时就需要使用数据库软件来管理、存取大量的数据。 • 本书选择MySQL作为使用的数据库软件,在大型程序中,数据库的安装与配置会直接影响程序对数据操作时的性能,在接下来的安装过程中,会详细讲解MySQL的安装与配置方法。安装前必须进行如下准备。 • (1)登录MySQL官方网站http://www.mysql.org/,下载最新的MySQL数据库安装程序,本书使用的是MySQL 5.0.45,下载地址:http://www.mysql.org/get/Downloads/MySQL-5.0/mysql-essential- 5.0.45-win32.msi/from/http://mysql.byungsoo.net/。 • (2)MySQL官方网站提供了适用于不同操作系统的文件,在下载时请注意选择正确的操作系统。 • (3)MySQL的Windows版本提供安装版与非安装版二个版本,本书选择的是安装版本。

  8. 10.2.2 安装MySQL • 正式安装MySQL的详细步骤如下:

  9. 10.2.3 配置MySQL • 当安装完MySQL后,MySQL安装向导会提示启动MySQL配置向导。读者也可以通过单击开始按钮,选择程序菜单项,在弹出的级联菜单中,选择MySQL菜单项,在MySQL弹出的级联菜单中,选择MySQL Server 5.0菜单项,此时在弹出的级联菜单中运行MySQL Server Instance Config Wizard快捷方式,或运行MySQL安装目录下bin文件夹里的MySQLInstanceConfig.exe程序,都可以可以启动MySQL的配置向导。

  10. 10.2.4 管理工具 • MySQL是支持命令行管理的,但是其复杂的语法,使很多初学者望而却步。兴好MySQL有很多可视化的介面管理工具,phpMyAdmin就是其中之一。 • phpMyAdmin是一个老牌的MySQL管理工具,其本身是使用PHP编写的 ,支持多国语言,以及各种字符集。phpMyAdmin以网站的形式运行,通过网络就可以管理服务器上的MySQL。其不仅可以完成数据库,以及数据表的各种管理,还可以以各种格式导入、导出数据库中数据。同时使用phpMyAdmin,还可以查看MySQL的进程,以及相关的运行信息。 • 在互网联上,还有很多功能强大的MySQL管理工具,有和phpMyAdmin一样的网站管理工具,也有直接运行在服务器上可执行文件管理工具。本书将使用phpMyAdmin作为MySQL的管理工具,并在下面的小节中介绍其安装与配置的过程。

  11. 10.2.5 PHP配置文件与MySQL访问 • 在老版本的PHP中,默认启用了MySQL支持。在PHP5.0以后的版本中,需要手动加载PHP中的MySQL支持模块,才可以使用PHP访问MySQL。下面分步骤介绍开启MySQL支持的方法。 • (1)使用记事本打开PHP配置文件,使用记事本的查找功能,查找字符串:extension=php_mysql.dll。 • (2)光标定位到PHP配置文件中,关于开启MySQL支持模块的行,去掉extension=php_mysql.dll行前的分号,以及其下一行,即extension=php_mysqli.dll行前的分号,开启MySQL支持模块。 • (3)设置完成后, • (4)PHP配置文件修改完成后,保存文件后退出。 • (5)重新启动Apache服务,此时就可以使用PHP访问MySQL数据库了。

  12. 10.2.6 安装phpMyAdmin • phpMyAdmin是以PHP编写的MySQL管理工具,其运行需要网络服务器,以及PHP语言的支持。本小节将在此前已经配置好的开发环境中,安装phpMyAdmin。

  13. 10.2.7 配置phpMyAdmin • 配置phpMyAdmin的过程,就是使用phpMyAdmin的安装脚本,生成一个phpMyAdmin使用的配置文件,并把其保存到phpMyAdmin的安装目录下即可,下面分步骤介绍phpMyAdmin的配置过程。

  14. 10.2.8 运行phpMyAdmin • 在配置完phpMyAdmin后,就可以通过浏览器来运行phpMyAdmin了。在浏览器中输出:http://localhost/phpMyAdmin后回车,进入phpMyAdmin的主界面,如图所示。

  15. 10.3 数据库的创建与管理 • 本节主要介绍使用phpMyAdmin,对MySQL数据库进行管理的方法,对数据库的管理包括创建、删除及备份等操作。

  16. 10.3.1 创建及管理数据库 • 要想创建一个MySQL数据库,可以通过命令行的形式,也可以在phpMyAdmin的开始界面中操作,下面分步骤来介绍创建数据库的方法。

  17. 10.3.2 备份和恢复数据库 • 备份数据库,即把数据库中的数据,以特定的文件形式进行存储。恢复数据库,即在数据库出现错误,或数据丢失的情况下,使用备份文件,恢复数据库中数据的操作。 • 通过phpMyAdmin备份数据库,是一件很简单的事情,只要使用数据库的导出功能,请可以把选择的数据库,保存为指定格式的文件。 • phpMyAdmin支持的备份文件格式包括: • CSV数据 • MS Excel 的 CSV 格式 • Microsoft Excel 2000 • Microsoft Word 2000 • LaTeX • Open Document Spreadsheet • Open Document Text • PDF • SQL • XML • YAML

  18. 10.4 表的创建与管理 • 数据库本身并不能存储数据,真正的数据存储在表中。使用MySQL的命令行创建表,对于初学者来说是比较困难的,而使用phpMyAdmin可以把这个过程变得简单。 • 本节主要介绍如何使用phpMyAdmin,来创建和管理数据表。

  19. 10.4.1 MySQL字段类型 • 要在MySQL数据库中存储数据,就要先了解MySQL的字段类型。MySQL的字段类型,有点类似于PHP的变量类型,都有长度的限制。MySQL的每个字段类型,都有特定的长度,来保存与长度相匹配的数据,例如日期数据,就可以存储在DATATIME为类型的字段中,数字就保存在INT类型的字段中。 • MySQL的字段类型为分3个种类,包括:数值类型、日期时间类型、字符串类型,而每个种类下,又分小类,这些小类的长度各有差别,下面列出MySQL的字段类型,以及占用的字节数,

  20. 10.4.2 创建表 • 使用phpMyAdmin创建表的的过程很简单,在本小节中将使用phpMyAdmin,创建一个用于存储用户信息的表。 • 在创建表之前,应该先大体了解一下要存储数据的内容。本小节要存储的用户信息包括:姓名、性别、年龄、生日、城市、简历。根据MySQL字符,可以把这些用户信息与字段类型相对应: • 姓名:中国国内姓名一般在4个字以内,可以使用CHAR类型的字段值存储。 • 性别:男或女,只有一个汉字,可以使用CHAR类型的字段值存储。 • 年龄:由于年龄的数值不会超过3位数,可以使用TINYINT类型的字段来存储。 • 生日:生日属于日期,可使用DATE类型的字段来存储。 • 城市:可以使用CHAR类型的字段存储。 • 简历:简历内容相对较多,可以使用TEXT类型的字段存储。

  21. 10.4.3 添加字段 • 在10.4.2小节中,介绍了创建表的过程,虽然顺利的创建表,但是有一个潜在问题并没有解决,即用户在读取数据库时,并没有唯一的值来代表一条记录,这使得在根据某一个字段检查数据时,很容易出现多条记录的情况。 • 为了解决这个问题,可以为表加上1个字段,这个字段是数值型,在增加记录时,可以自动增加其值,并在在表中是不重复的值,并把这个字段设置为主键。下面介绍使用phpMyAdmin添加字段,以及为数据建立主键的方法。

  22. 10.4.4 修改字段 • 在新建表时,如果表中字段比较多,难免会出现错误,这时需要使用phpMyAdmin编辑功能,来修改已经创建表中的字段。下面分步骤来介绍修改字段的方法。

  23. 10.4.5 运行SQL语句 • 使用phpMyAdmin管理数据库时,系统会把改动数据的SQL语句也列出来,如果用户对相关的SQL语句精通的话,也可以在phpMyAdmin中,直接运行SQL语句。下面分步骤介绍在phpMyAdmin中,运行SQL语句的方法。

  24. 10.5 SQL语法 • 在使用phpMyAdmin管理MySQL的过程中,都会产生一些SQL语句,这些SQL语句,就是phpMyAdmin的核心。 • SQL语句可以在phpMyAdmin中使用,执行后返回的结果,由phpMyAdmin绘制成表格的形式显示出来。SQL语句也可以在PHP脚本中,使用特定函数来执行。 • 数据库和表,都可以使用SQL语句来创建、修改和删除。但这些SQL语句往往很复杂,特别是使用phpMyAdmin来管理数据库和表时,就更少使用这些SQL语句,所以本节主要介绍一些简单,以及常用的SQL语句。

  25. 10.5.1 新建数据项 • 数据表建好后,就可以向其中写入数据了,用户可以通过phpMyAdmin的插入功能,来插入数据项,也可以使用SQL语句,来增加指定库的数据项。新建数据项使用的SQL语句格式如下所示: • INSERT INTO `数据库名称`.`表名称` (`表字段1` ,`表字段2` ,…)VALUES ('与表字段1对应的值’, '与表字段2对应的值'…);

  26. 10.5.2 查询数据 • 查询内容的SQL语句格式如下所示: • SELECT * FROM `表名` WHERE `字段` = ‘数据’ ORDER BY `字段名` DESC LIMIT 0 , 30 • 查询数据的SQL语句中,各关键字的作用

  27. 10.5.3 更新数据 • 更新数据的SQL语句格式如下所示: • UPDATE `数据库名称`.`表名称` SET `字段` = '数据' WHERE `字段` = ‘数据’

  28. 10.5.4 删除数据 • 删除数据的SQL语句格式如下所示: • DELETE FROM `表名称` WHERE `字段` = ‘数据’

  29. 10.6 常见问题

  30. 10.6.1 字段原则 • 在创建表时,一定要根据实际情况,来制定字段的类型和长度,这样可以节省数据库的空间。 • 在创建表时,最好使用一个字段作为主键,这个字段使用INT字段类型,其值在每次增加记录时,会自动加1,并且不会在这个字段中重复出现,具体作法可以参照10.4.3小节。 • 注意:具有唯一值的字段的值,可以代表表中唯一的一条记录,在精确查询或定位时,特别有用。

  31. 10.6.2 SQL语法 • 10.5节中介绍的SQL语法,只是比较常用的简单语法,能完成基本的添加、编辑、删除等功能。 • SQL的语法比较复杂,特别是查询数据的语法,读者可以通过MySQL的用户手册,来详细了解SQL语法。

More Related