mysql数据库导入导入代码

WBOY
發布: 2016-06-07 17:51:27
原創
1789 人瀏覽過

我想大家都知道数据导入和导入可以使用mysql自带的功具mysqldump来实现,同时也可以自定义程序来实现,下面我介绍了二种方法。

先来讲讲利用比如到处数据用逗号(‘),竖线(|)隔开的数据。很多人会说使用用

 代码如下 复制代码
-uUser -pPwd dbName -e “$sql”

进行导出。
其中$sql使用

 代码如下 复制代码
SELECT * FROM `TABLENAME` WHERE xxx INTO OUTFILE “指定文件路劲” FIELDS TERMINATED BY ”|“

这种往往很多会报没有权限之类的莫名其妙的错误。

错误一

 代码如下 复制代码

ERRORERROR 1045 (28000) at line 1: Access denied for user 'qinghua'@'localhost' (using password: YES)

错误二

 代码如下 复制代码

ERRORERROR 1 (HY000) at line 1: Can't create/write to file '/home/martin/outfile' (Errcode: 13)

错误一是由于普通用户没有执行权限,错误二是由于没有权限穿件文件”aa”。
正确的做应该是

 代码如下 复制代码

 SHELLmysql -uqinghua -p123456 qinghua --e " * from qinghua.user where 1 into outfile 'outfile' FIELDS TERMINATED BY'|'"

这样它穿件的文件会出现在mysql datadir目录对应的文件夹内。

如果想把文件创建到指定目录内。那你一定得赋予改目录mysql写入权限。

一般的做法是

 代码如下 复制代码

mkdir -p /home/martin/outdata;
chown mysql.mysql /home/martin/outdata;

sudo chmod 777 /home/martin/outdata;

 SHELLmysql -uqinghua -p123456 qinghua --e "select * from qinghua.user where 1 into outfile '/home/martin/outdata/outfile' FIELDS TERMINATED BY'|'"

mysqldump参数介绍: 相关文章

–w 设定导出的条件。
–no-create-db 导出时不到出穿件数据库。
–no-create-info 不创建表结构。
–xml 导出xml格式文件。
–skip-add-drop-table 不创建删除表结构语句。
一般使用 mysql -uUser -pPwd dbName

参考地址:

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

http://dev.mysql.com/doc/refman/5.1/zh/replication.html 生成二进制日志,进行双机热备

再看看其它的方法

导出程序如下:调用方法为 ****.?table=tablename
这个简单的程序目前一次保存一个表格!!每行为一个字段的数据!!
 

 代码如下 复制代码
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$result = mysql_query("select * from $table");
if(mysql_num_rows($result) echo "开始转换数据到文本...
";
$handle = ("$table.txt","w");
$numfields = mysql_num_fields($result);
fputs($handle,$numfields."rn");
for($k=0;$k
{
$msg = mysql_fetch_row($result);
for($i=0;$i {
$msg[$i] = str_replace("rn","&&php2000mysqlreturn&&",$msg[$i]);
$msg[$i] = str_replace("n" ,"&&php2000mysqlreturn&&",$msg[$i]);
fputs($handle,$msg[$i]."rn");
}
fputs($handle,"------- php2000 dump data program V1.0 for MySQL --------rn");
}
fclose($handle);
echo "ok";
?>

导入的程序如下:用法同上面!

 

 代码如下 复制代码
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$message = file("$table.txt");
echo $numfields = chop($message[0]);
for($k=1;$k
{
$value="";
for ($i=$k;$i {
$tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$k+$numfields-1]));
$value .= "'".$tmp."'";
$query = "insert into $table values (".$value.")";
echo mysql_error();
mysql_query($query);
echo $k." ";
}
echo "ok";
?>
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!