《数据库操作.ppt》由会员分享,可在线阅读,更多相关《数据库操作.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据数据库操作操作现在学习的是第1页,共29页9.1 9.1 操作操作MySQLMySQL数据库数据库作为使用数据库操作的基础,本节先来介绍一些常见的作为使用数据库操作的基础,本节先来介绍一些常见的MySQL数据库操作。如:连接到服务器、显示可用库(表)、添数据库操作。如:连接到服务器、显示可用库(表)、添加数据库(表)、删除数据库(表)等。加数据库(表)、删除数据库(表)等。现在学习的是第2页,共29页9.1.1 9.1.1 连接到服务器连接到服务器使用使用PHP中的函数中的函数mysql_connect()可以连接到指定的可以连接到指定的MySQL服务器,该函数语法格式如下所示:服务器,该
2、函数语法格式如下所示:resource mysql_connect(string server,string username,string password,bool new_link,int client_flags)以上代码中参数以上代码中参数server为服务器名称;参数为服务器名称;参数username为连接为连接服务器的用户名;参数服务器的用户名;参数password为连接密码;参数为连接密码;参数new_link为布为布尔型变量指定是否建立一个新的连接;参数尔型变量指定是否建立一个新的连接;参数client_flags可以是以可以是以下常量的组合:下常量的组合:MYSQL_CLI
3、ENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACE或或MYSQL_CLIENT_INTERACTIVE,该参数决定建立连接的客,该参数决定建立连接的客户端常量。如果成功执行函数将会建立到指定服务器的连接,否户端常量。如果成功执行函数将会建立到指定服务器的连接,否则将会返回则将会返回FALSE。现在学习的是第3页,共29页9.1.2 9.1.2 显示可用数据库显示可用数据库成功连接到服务器后可以先查看一下服务器上的可用数成功连接到服务器后可以先查看一下服务器上的可用数据库列表。使用据库列表。使用mysql_query()函数执行相应的函
4、数执行相应的SQL语句即可语句即可实现该功能,该函数的语法格式为:实现该功能,该函数的语法格式为:resource mysql_query(string$query,resource$link_identifier)以上代码中参数以上代码中参数$query为需要执行的为需要执行的SQL语句,以字符语句,以字符串表示;可选参数串表示;可选参数$link_identifier为通过为通过mysql_connect()进进行连接的服务器连接行连接的服务器连接ID,如果省略该参数则使用最后一次的,如果省略该参数则使用最后一次的连接。连接。现在学习的是第4页,共29页9.1.2 9.1.2 显示可用数据
5、库显示可用数据库现在学习的是第5页,共29页9.1.3 9.1.3 创建数据库创建数据库创建数据库的操作可以通过使用创建数据库的操作可以通过使用mysql_query()函数执行函数执行SQL语句来实现,建库的语句来实现,建库的SQL语句为:语句为:CREATE DATABASE#DBNAME将以上代码中的将以上代码中的#DBNAME改成需要进行创建库的名称,改成需要进行创建库的名称,就可以创建相应的数据库了。就可以创建相应的数据库了。现在学习的是第6页,共29页9.1.4 9.1.4 选择数据库并显示表选择数据库并显示表如果要操作数据库中的表,首先要在连接服务器后,再如果要操作数据库中的表,
6、首先要在连接服务器后,再选择进行操作的数据库。为选择进行操作的数据库。为mysql_select_db()函数提供数据函数提供数据库名称的参数,并执行函数即可选择指定数据库。库名称的参数,并执行函数即可选择指定数据库。显示库中的表,可通过显示库中的表,可通过mysql_query()执行以下执行以下SQL语语句实现:句实现:SHOW TABLES;与显示数据库类似,执行与显示数据库类似,执行SQL语句后,也可以通过语句后,也可以通过mysql_num_rows()获取结果集数目,并通过获取结果集数目,并通过mysql_fetch_array()遍历结果集。遍历结果集。现在学习的是第7页,共29
7、页9.1.4 9.1.4 选择数据库并显示表选择数据库并显示表现在学习的是第8页,共29页9.1.5 9.1.5 在库中创建表在库中创建表创建表也可以通过执行相应的创建表也可以通过执行相应的SQL语句来完成。不过相语句来完成。不过相对于前面所介绍的各类对于前面所介绍的各类SQL语句,建表语句就较为复杂了。语句,建表语句就较为复杂了。因为在建表时,不仅要设定表的名称,而且还要设定表的字因为在建表时,不仅要设定表的名称,而且还要设定表的字段、类型等内容。其段、类型等内容。其SQL语句格式如下所示:语句格式如下所示:CREATE TABLE table_name(column_name data无效
8、无效 identity|null|not null,)书写创建表的语句时还要注意:书写创建表的语句时还要注意:表的完整的字段清单要在一对圆括号里给出;表的完整的字段清单要在一对圆括号里给出;字段名间用逗号隔开;字段名间用逗号隔开;字段名间的逗号后要加一个空格;字段名间的逗号后要加一个空格;最后一个字段名后不用逗号。最后一个字段名后不用逗号。现在学习的是第9页,共29页9.1.6 9.1.6 删除存在的库或表删除存在的库或表如果存在的数据库或者表已经不再需要,为了节省系统如果存在的数据库或者表已经不再需要,为了节省系统资源则可以通过执行相关的资源则可以通过执行相关的SQL语句将其删除。其中删除库
9、语句将其删除。其中删除库的的SQL语句为:语句为:DROP DATABASE db_name以上代码中的以上代码中的db_name为指定需要进行删除的数据库的为指定需要进行删除的数据库的名称。删除表的名称。删除表的SQL语句为:语句为:DROP TABLE table_nametable_name为指定需要进行删除的表的名称。为指定需要进行删除的表的名称。现在学习的是第10页,共29页9.2 9.2 操作表操作表数据库的操作归根结底来说还是要对数据库中的表进行数据库的操作归根结底来说还是要对数据库中的表进行操作。本章就来介绍在操作。本章就来介绍在PHP中如何对数据库中的表进行各种中如何对数据库
10、中的表进行各种常见操作。常见操作。现在学习的是第11页,共29页9.2.1 9.2.1 操作前的准备工作操作前的准备工作为了便于使用各种操作,这里的操作表就使用为了便于使用各种操作,这里的操作表就使用9.1.5中在中在test库中创建的库中创建的temp表。同时为了演示各种操作,需要先向表表。同时为了演示各种操作,需要先向表中插入一些记录。将事先准备好的含有插入中插入一些记录。将事先准备好的含有插入SQL语句的文本文语句的文本文件用件用phpmyqdmin导入即可完成插入记录的工作。导入即可完成插入记录的工作。(1)先将以下代码保存为普通文本文件如:)先将以下代码保存为普通文本文件如:temp
11、.txt。(2)打开)打开phpmyadmin并定位到并定位到temp表。表。(3)单击图)单击图9.3右上方的右上方的SQL操作链接打开如图操作链接打开如图9.4所示所示画面。画面。(4)将第一步的代码贴到图)将第一步的代码贴到图9.4中部的文本输入框中,之中部的文本输入框中,之后单击图后单击图9.4所示界面最下方的执行按钮,即可将代码中的记所示界面最下方的执行按钮,即可将代码中的记录添加到录添加到temp表中。表中。现在学习的是第12页,共29页9.2.1 9.2.1 操作前的准备工作操作前的准备工作现在学习的是第13页,共29页9.2.2 9.2.2 浏览已经存在的记录浏览已经存在的记录
12、本小节先来介绍最基本的表的操作:浏览表中已经存在本小节先来介绍最基本的表的操作:浏览表中已经存在的记录。要执行该操作,只需要通过的记录。要执行该操作,只需要通过mysql_query()执行执行SELECT查询查询SQL语句即可。通常的语句即可。通常的SELECT查询语句使用查询语句使用如下所示的结构:如下所示的结构:SELECT 内容内容 From 表名表名 WHERE 条件条件 ORDER BY 列列名名 LIMIT 数目数目现在学习的是第14页,共29页9.2.3 9.2.3 添加记录添加记录本小节来介绍如何向表中添加记录。在本小节来介绍如何向表中添加记录。在PHP中要向表中中要向表中添
13、加记录可以通过添加记录可以通过mysql_query()执行插入语句来实现,插入执行插入语句来实现,插入语句格式如以下代码所示:语句格式如以下代码所示:INSERT INTO tbl_name(col_name,.)VALUES(pression,.),以上代码中以上代码中tbl_name为需要进行插入的表的名称;参数为需要进行插入的表的名称;参数col_name为插入的字段名;参数为插入的字段名;参数pression为指定的需要插入的为指定的需要插入的值。使用该语句可以实现向表中插入记录的功能。可以一次插值。使用该语句可以实现向表中插入记录的功能。可以一次插入多条记录。入多条记录。记录插入之
14、后,可以使用函数:记录插入之后,可以使用函数:mysql_insert_id()来获取来获取最后一次插入的记录的最后一次插入的记录的ID值。该函数无须任何参数直接在插值。该函数无须任何参数直接在插入记录之后调用即可获取最后的入记录之后调用即可获取最后的ID,然后可以通过该,然后可以通过该ID值来值来浏览插入的记录内容。浏览插入的记录内容。现在学习的是第15页,共29页9.2.4 9.2.4 修改记录修改记录记录在添加之后并不是一成不变的,用户可以根据自己记录在添加之后并不是一成不变的,用户可以根据自己的需要更新记录。修改表中已经存在的记录,也可以通过使的需要更新记录。修改表中已经存在的记录,也
15、可以通过使用用mysql_query()执行修改记录的执行修改记录的SQL语句来实现。修改记录语句来实现。修改记录的的SQL语句语法格式如下所示:语句语法格式如下所示:UPDATE tbl_name SETcol_name1=expr1,col_name2=expr2.WHEREwhere_definition以上代码中以上代码中UPDATE为执行修改记录操作的关键字,为执行修改记录操作的关键字,参数参数tbl_name为表的名称;参数为表的名称;参数col_name1为列的名称;参为列的名称;参数数expr1为将为将col_name1所设定的新的值;所设定的新的值;WHERE指定一个指定一个
16、修改记录的条件,通常的修改操作都需要指定条件,否则将修改记录的条件,通常的修改操作都需要指定条件,否则将会把所有记录都修改为指定内容。会把所有记录都修改为指定内容。现在学习的是第16页,共29页9.2.5 9.2.5 删除记录删除记录如果表中的某些记录已经不再需要,出于资源占用的考如果表中的某些记录已经不再需要,出于资源占用的考虑可以将冗余的记录删除。在数据库操作中,需要使用虑可以将冗余的记录删除。在数据库操作中,需要使用mysql_query()执行删除数据的执行删除数据的SQL语句来实现,删除语句语法结构如下代语句来实现,删除语句语法结构如下代码所示:码所示:DELETE FROM tbl
17、_name WHERE where_definition以上代码中以上代码中DELETE为执行删除操作的关键字,参数为执行删除操作的关键字,参数tbl_name为指定的表的名称;为指定的表的名称;WHERE指定用于删除的条件。指定用于删除的条件。与与UPDATE操作一样,执行删除操作通常也需要指定条件,否操作一样,执行删除操作通常也需要指定条件,否则的话整个表中的所有记录都将被删除。则的话整个表中的所有记录都将被删除。现在学习的是第17页,共29页9.3 9.3 高级查询高级查询前一节为读者介绍了对表的基本操作,本节将继续介绍前一节为读者介绍了对表的基本操作,本节将继续介绍一些高级查询的内容。
18、包括有条件查询、限制结果数查询、一些高级查询的内容。包括有条件查询、限制结果数查询、对查询结果进行排序以及模糊查询等。普通的查询操作,再对查询结果进行排序以及模糊查询等。普通的查询操作,再配合高级查询关键字,可以解决许多实际问题。配合高级查询关键字,可以解决许多实际问题。现在学习的是第18页,共29页9.3.1 9.3.1 使用使用WHEREWHERE子句子句在前面介绍修改记录与删除记录操作时就曾提到在前面介绍修改记录与删除记录操作时就曾提到WHERE子句,使用该子句可以为相应操作附加条件。同样,在子句,使用该子句可以为相应操作附加条件。同样,在SELECT查询中也可以使用查询中也可以使用WH
19、ERE子句为查询附加相应的条子句为查询附加相应的条件,实现有条件的查询。例如下面的代码:件,实现有条件的查询。例如下面的代码:SELECT*FROM temp WHERE age20SELECT*FROM temp WHERE age12现在学习的是第19页,共29页9.3.2 9.3.2 使用使用LIMITLIMIT子句子句在在SELECT语句中使用语句中使用LIMIT子句可以限制返回的结果子句可以限制返回的结果数。该语句后面可以跟数。该语句后面可以跟1个或者两个参数。如果跟个或者两个参数。如果跟1个参数,表个参数,表示从查询的开头返回指定数目的结果数。如果跟示从查询的开头返回指定数目的结果
20、数。如果跟2个参数,则个参数,则表示从第表示从第1个参数指定的偏移数开始,返回参数个参数指定的偏移数开始,返回参数2指定数目的结指定数目的结果数。果数。如下面的代码:如下面的代码:SELECT*FROM temp LIMIT 3将会返回从头开始的将会返回从头开始的3条记录。而下面的代码:条记录。而下面的代码:SELECT*FROM temp LIMIT 3,4将会返回从第将会返回从第3个位置之后开始的个位置之后开始的4条记录。条记录。现在学习的是第20页,共29页9.3.3 9.3.3 使用使用ORDER BYORDER BY排序排序前面所介绍的所有查询,其结果均是按照入库的先后顺序前面所介绍
21、的所有查询,其结果均是按照入库的先后顺序(按(按ID值从小到大)依次排序的。那么在值从小到大)依次排序的。那么在PHP中如何实现按照指中如何实现按照指定字段指定顺序进行排序输出结果呢?使用定字段指定顺序进行排序输出结果呢?使用ORDER BY即可实即可实现这样的功能。现这样的功能。该子句的语法如下所示:该子句的语法如下所示:ORDER BY col_name DESC/ASC,col_name DESC/ASC以上代码中以上代码中col_name为指定的列的名称,后面的为指定的列的名称,后面的DESC或者或者ASC指定排序类型,其中指定排序类型,其中DESC为降序排列(从大到小),为降序排列(
22、从大到小),ASC为升序排列(从小到大),如果不指定排序类型,则默认为为升序排列(从小到大),如果不指定排序类型,则默认为ASC(从小到大排序)。如果指定多个字段排序,则会在第一个(从小到大排序)。如果指定多个字段排序,则会在第一个字段相同的情况下,按第二个字段指定的排序类型进行排序。字段相同的情况下,按第二个字段指定的排序类型进行排序。现在学习的是第21页,共29页9.3.4 9.3.4 使用模糊查询使用模糊查询在前面介绍在前面介绍WHERE子句进行有条件查询或者修改、删子句进行有条件查询或者修改、删除操作时,其中定义的条件均为精确条件,那么能否使用模除操作时,其中定义的条件均为精确条件,那
23、么能否使用模糊条件进行模糊查询?答案是肯定的,在糊条件进行模糊查询?答案是肯定的,在PHP中也支持使用中也支持使用模糊查询。模糊查询。在在PHP支持的支持的MySQL语句中,通常使用如下所示的语句中,通常使用如下所示的SQL语句进行模糊查询:语句进行模糊查询:SELECT*FROM oneself WHERE name LIKE%现在学习的是第22页,共29页9.3.5 9.3.5 常用的常用的SQLSQL函数函数这一小节来介绍一组常用的这一小节来介绍一组常用的SQL函数,这些函数不同于可函数,这些函数不同于可以直接使用的以直接使用的PHP函数,这类函数,这类SQL函数需要用在函数需要用在SQ
24、L语句中才语句中才能起到应有的效果。能起到应有的效果。由于由于SQL函数作为一类专门的函数其数量也是非常多的,函数作为一类专门的函数其数量也是非常多的,这里仅选择其中最常用且最有代表性的为读者作介绍。如果读这里仅选择其中最常用且最有代表性的为读者作介绍。如果读者想了解更多关于者想了解更多关于SQL函数的详细内容可以查阅相关的专门书函数的详细内容可以查阅相关的专门书籍。籍。1数学函数数学函数2聚合函数聚合函数(常用于常用于GROUP BY从句的从句的SELECT查询中查询中)3字符串函数字符串函数4日期函数日期函数5使用示例使用示例现在学习的是第23页,共29页9.4 9.4 数据库的备份与导入
25、数据库的备份与导入通常在程序转移时、重新安装系统时都需要对数据库进通常在程序转移时、重新安装系统时都需要对数据库进行备份,并且在条件成熟时再对其进行导入。所以说数据库行备份,并且在条件成熟时再对其进行导入。所以说数据库的备份与导入操作也是常用的数据库操作。本节就来介绍如的备份与导入操作也是常用的数据库操作。本节就来介绍如何使用何使用PHP的数据库管理工具的数据库管理工具phpmyadmin实现数据库的备实现数据库的备份与导入操作。份与导入操作。现在学习的是第24页,共29页9.4.1 9.4.1 备份数据库备份数据库要迁移程序,除了要复制必要的代码之外,数据也必须要要迁移程序,除了要复制必要的
26、代码之外,数据也必须要进行备份。例如,论坛程序的注册用户资料、用户发贴记录等等进行备份。例如,论坛程序的注册用户资料、用户发贴记录等等都需要进行备份。因为程序可以比较方便的获取,而数据则很难都需要进行备份。因为程序可以比较方便的获取,而数据则很难还原。备份数据库,可以按如下步骤进行。还原。备份数据库,可以按如下步骤进行。(1)启动)启动phpmyadmin。(2)使用左下方的框架导航页,定位到某个数据库的位置)使用左下方的框架导航页,定位到某个数据库的位置如图所示。如图所示。(3)单击图)单击图9.13右上方的右上方的“导出导出”按钮。按钮。(4)在图)在图9.14所示的界面中可以对导出选项进
27、行设定,通所示的界面中可以对导出选项进行设定,通常使用程序默认选项即可。单击界面最下方的常使用程序默认选项即可。单击界面最下方的“执行执行”按钮,即按钮,即开始备份过程。开始备份过程。(5)备份过程根据数据库内容的多少而有所不同,通常的)备份过程根据数据库内容的多少而有所不同,通常的数据量,只需要很短时间即可完成备份。数据量,只需要很短时间即可完成备份。现在学习的是第25页,共29页9.4.1 9.4.1 备份数据库备份数据库现在学习的是第26页,共29页9.4.2 9.4.2 导入数据库导入数据库数据库的导入要以导出为前提,只有数据已经导出了,数据库的导入要以导出为前提,只有数据已经导出了,
28、才能将其导入到库中。要导入数据库也分几步完成,前两步才能将其导入到库中。要导入数据库也分几步完成,前两步入备份数据库相同。入备份数据库相同。(1)单击图)单击图9.13上方的上方的“Import”链接。链接。(2)单击图)单击图9.15中所示的中所示的“浏览浏览”按钮,选择在按钮,选择在9.4.1小小节中备份的文件。节中备份的文件。(3)导入过程的长短也与数据量大小有关。通常的数量)导入过程的长短也与数据量大小有关。通常的数量级的数据只需要几十秒即可完成导入操作。级的数据只需要几十秒即可完成导入操作。现在学习的是第27页,共29页9.4.2 9.4.2 导入数据库导入数据库现在学习的是第28页
29、,共29页9.5 9.5 本章小结本章小结本章介绍了本章介绍了PHP中的数据库操作,数据库操作是几乎所中的数据库操作,数据库操作是几乎所有有Web应用程序都会牵涉到的内容,所以熟练掌握本章内容应用程序都会牵涉到的内容,所以熟练掌握本章内容对于编写以数据库为基础的程序将起到至关重要的影响。另对于编写以数据库为基础的程序将起到至关重要的影响。另外,本章所介绍的数据库操作,均为最基本的操作。如果读外,本章所介绍的数据库操作,均为最基本的操作。如果读者还需要对数据内容进行更多的研究,则可以查阅专门介绍者还需要对数据内容进行更多的研究,则可以查阅专门介绍数据库的书籍以实现进一步的提高。数据库的书籍以实现进一步的提高。现在学习的是第29页,共29页