一段导出数据库的代码

导出数据|数据库

一段导出数据库的代码
 <?
//
$dbname="mytest";
$filename="file.sql";
mysql_pconnect ("localhost:3306","root","");
//
function sqldumptable($table) {
global $DB_site;
$tabledump = "DROP TABLE IF EXISTS $table;\n";
$tabledump .= "CREATE TABLE $table (\n";
$firstfield=1;
$fields = mysql_query("SHOW FIELDS FROM $table");
while ($field = mysql_fetch_array($fields)) {
if (!$firstfield) {$tabledump .= ",\n";} else {$firstfield=0;}
$tabledump .= " $field[Field] $field[Type]";
if (!empty($field["Default"])) {$tabledump .= " DEFAULT '$field[Default]'";}
if ($field[Null] != "YES") {$tabledump .= " NOT NULL";}
if ($field[Extra] != "") {$tabledump .= " $field[Extra]";}
}
mysql_free_result($fields);
$keys = mysql_query("SHOW KEYS FROM $table");
while ($key = mysql_fetch_array($keys)) {
$kname=$key['Key_name'];
if ($kname != "PRIMARY" and $key['Non_unique'] == 0) { $kname="UNIQUE|$kname";}
if(!is_array($index[$kname])) { $index[$kname] = array();}
$index[$kname][] = $key['Column_name'];
}
mysql_free_result($keys);

// get each key info
while(list($kname, $columns) = @each($index)){
$tabledump .= ",\n";
$colnames=implode($columns,",");

if($kname == "PRIMARY"){ $tabledump .= " PRIMARY KEY ($colnames)";}
else {
if (substr($kname,0,6) == "UNIQUE") {
// key is unique
$kname=substr($kname,7);
}

$tabledump .= " KEY $kname ($colnames)";

}
}

$tabledump .= "\n);\n\n";

// get data
$rows = mysql_query("SELECT * FROM $table");
$numfields=mysql_num_fields($rows);
while ($row = mysql_fetch_array($rows)) {
$tabledump .= "INSERT INTO $table VALUES(";

$fieldcounter=-1;
$firstfield=1;
// get each field's data
while (++$fieldcounter<$numfields) {
if (!$firstfield) {
$tabledump.=",";
} else {
$firstfield=0;
}

if (!isset($row[$fieldcounter])) {
$tabledump .= "NULL";
} else {
$tabledump .= "'".addslashes($row[$fieldcounter])."'";
}
}

$tabledump .= ");\n";
}
mysql_free_result($rows);

return $tabledump;
}
//函数结束
//
$result = mysql_list_tables ($dbname);
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
$dump.=sqldumptable($tb_names[$i])."\n\n\n";
$i++;
}

echo $dump;//可以在浏览器里输出看看
$filehandle=fopen($filename,"w");
fwrite($filehandle,$dump."\n\n\n");
fclose($filehandle);

echo "<p>数据成功导出!</p>";
?>
把$filename="file.sql";改成$filename="file.txt";
 
 

时间: 2024-10-31 10:56:35

一段导出数据库的代码的相关文章

PHP使用mysqldump命令导出数据库

 PHP使用外部命令导出数据库,代码很简单,就不多废话了 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php   // $dumpFileName目录要有可写权限 $DbHost = 'localhost'; $DbUser = 'root'; $DbPwd = '123456'; $DbName = 'a'; $fileName = $DbName . '_MySQL_data_backup_' . date('YmdHis)

PHP使用mysqldump命令导出数据库_php技巧

PHP使用外部命令导出数据库,代码很简单,就不多废话了 <?php // $dumpFileName目录要有可写权限 $DbHost = 'localhost'; $DbUser = 'root'; $DbPwd = '123456'; $DbName = 'a'; $fileName = $DbName . '_MySQL_data_backup_' . date('YmdHis) . '.sql'; $dumpFileName= "/var/$fileName"; heade

linux下使用ssh远程执行命令批量导出数据库到本地_linux shell

前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户是限

PHP备份/还原MySQL数据库的代码

以下是代码: 一.备份数据库并下载到本地[db_backup.php] 复制代码 代码如下: <?php // 设置SQL文件保存文件名 $filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql"; // 所保存的文件名 header("Content-disposition:filename=".$filename); header("Content-type:a

android 中导入数据库,代码一处错误。请大神帮我看看

问题描述 android 中导入数据库,代码一处错误.请大神帮我看看 解决方案 首先你要确定这个cothinkganbu这个文件在哪儿呢,如果你放在了assets里面那就不是这样调用获取资源了,红线处说明的是找不到这个资源,所以你检查一下看是什么情况. 解决方案二: 清理一下工程看看.... 解决方案三: 请大神帮我看看这段代码

使用ssh远程执行命令批量导出数据库到本地(转)

  前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户

为什么这段jquery图片放大代码放在php中就不会出现放大的图片效果了

问题描述 为什么这段jquery图片放大代码放在php中就不会出现放大的图片效果了 #ShowPictureBox { width:300px; height:300px;overflow:hidden; }$(document).ready(function(){ $("#ShowPictureBox").JNMagnifier({ renderTo:"#ShowBigPictureBox" });}); <!--这里显示放大效果--> 解决方案 jq

mysql的Workbench导出数据库时报错,,,求解答

问题描述 mysql的Workbench导出数据库时报错,,,求解答 我的电脑 用户目录名字是中文 导致导入导出出错,,,就是想问下,能怎么解决(在不重装系统的前提下) 解决方案 导入导出不成功的问题我碰到过,后来我是用Navicat Premium这个传输工具解决的,里面有很多种格式可转换,但并不是每一种都能导出成功. 100%能成功的经验是: 1.先把你要导出的表数据导出到一个xml格式的文件: 2.再把这个xml文件导入到目的表,导出时有点要注意的是:在提示你选择"表示一个表行的标签&qu

asp-将鼠标离开输入框自动检测数据库的代码改为点击按钮再开始检测

问题描述 将鼠标离开输入框自动检测数据库的代码改为点击按钮再开始检测 这段代码由于鼠标离开输入框自动检测数据库的体验太差,请帮忙改编为点击按钮开始检测,谢谢大家!!!! 另如果有更好的方法欢迎提供 以下代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <