欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

利用php把mysql数据库备份导出成sql示例

程序员文章站 2022-05-14 15:09:46
...
用php代码实现数据库备份可以使网站的管理变得非常便捷,我们可以直接进后台操作就能完成数据库的备份.

关键技术:

1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组.

2. show create table 表名 可以获取表结构.

3. select * from 表名 取出所有记录,用循环拼接成 insert into... 语句.

导出成的sql语句效果,具体代码如下:

"; 
	 
	 $info = "-- ----------------------------rn"; 
	 
	 $info .= "-- 日期:".date("Y-m-d H:i:s",time())."rn"; 
	 
	 $info .= "-- Power by 代潇瑞博客(http://www.phprm.com/read/34.html)rn"; 
	 
	 $info .= "-- 仅用于测试和学习,本程序不适合处理超大量数据rn"; 
	 
	 $info .= "-- ----------------------------rnrn"; 
	 
	 file_put_contents($to_file_name,$info,FILE_APPEND); 
	 
	 //将每个表的表结构导出到文件 
	 
	 foreach($tabList as $val){ 
	 
	  $sql = "show create table ".$val; 
	 
	  $res = mysql_query($sql,$link); 
	 
	  $row = mysql_fetch_array($res); 
	 
	  $info = "-- ----------------------------rn"; 
	 
	  $info .= "-- Table structure for `".$val."`rn"; 
	 
	  $info .= "-- ----------------------------rn"; 
	 
	  $info .= "DROP TABLE IF EXISTS `".$val."`;rn"; 
	 
	  $sqlStr = $info.$row[1].";rnrn"; 
	 
	  //追加到文件 
	 
	  file_put_contents($to_file_name,$sqlStr,FILE_APPEND); 
	 
	  //释放资源 
	 
	  mysql_free_result($res); 
	 
	 } 
	 
	 
	 
	 
	 //将每个表的数据导出到文件 
	 
	 foreach($tabList as $val){ 
	 
	  $sql = "select * from ".$val; 
	 
	  $res = mysql_query($sql,$link); 
	 
	  //如果表中没有数据,则继续下一张表 
	 
	  if(mysql_num_rows($res)

本文地址:

转载随意,但请附上文章地址:-)