国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql數據庫導入導出代碼

2024-07-24 12:39:03
字體:
來源:轉載
供稿:網友

我想大家都知道數據導入和導入可以使用mysql自帶的功具mysqldump來實現,同時也可以自定義程序來實現,下面我介紹了二種方法.

先來講講利用比如到處數據用逗號(‘),豎線(|)隔開的數據,很多人會說使用如下代碼: 

mysql -uUser -pPwd dbName -e “$sql” 進行導出.

其中$sql使用如下代碼:

  1. 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 "select * from qinghua.user where 1 into outfile 'outfile' FIELDS TERMINATED BY'|'"

這樣它穿件的文件會出現在mysql datadir目錄對應的數據庫文件夾內,如果想把文件創建到指定目錄內,那你一定得賦予改目錄mysql寫入權限.

一般的做法是,代碼如下:

  1. mkdir -p /home/martin/outdata; 
  2. chown mysql.mysql /home/martin/outdata; 
  3.  
  4. sudo chmod 777 /home/martin/outdata; 
  5. --Vevb.com 
  6.  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數據導入一般使用 mysql -uUser -pPwd dbName < xxx.sql,或者使用source進行導入。

參考地址:

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

http://dev.mysql.com/doc/refman/5.1/zh/replication.html 生成二進制日志,進行雙機熱備.

再看看其它的方法

導出程序如下:調用方法為 ****.php?table=tablename,這個簡單的程序目前一次保存一個表格,每行為一個字段的數據,代碼如下:

  1. if($table=="")exit();  
  2. mysql_connect("localhost","name","password");  
  3. mysql_select_db("database");  
  4. $result = mysql_query("select * from $table");  
  5. if(mysql_num_rows($result) < = 0) exit();  
  6. echo "開始轉換數據到文本...  
  7. ";  
  8. $handle = fopen("$table.txt","w");  
  9. $numfields = mysql_num_fields($result);  
  10. fputs($handle,$numfields."rn");  
  11. for($k=0;$k 
  12. {  
  13. $msg = mysql_fetch_row($result);  
  14. for($i=0;$i$numfields;$i++)  
  15. {  
  16. $msg[$i] = str_replace("rn","&&php2000mysqlreturn&&",$msg[$i]);  
  17. $msg[$i] = str_replace("n" ,"&&php2000mysqlreturn&&",$msg[$i]);  
  18. fputs($handle,$msg[$i]."rn");  
  19. }  
  20. fputs($handle,"------- php2000 dump data program V1.0 for MySQL --------rn");  
  21. }  
  22. fclose($handle);  
  23. echo "ok";  

導入的程序如下,用法同上面,代碼如下:

  1. if($table=="")exit();  
  2. mysql_connect("localhost","name","password");  
  3. mysql_select_db("database");  
  4. $message = file("$table.txt");  
  5. echo $numfields = chop($message[0]);  
  6. for($k=1;$k 
  7. {  
  8. $value="";  
  9. for ($i=$k;$i< ($k+$numfields-1);$i++)  
  10. {  
  11. $tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$i]));  
  12. $value .= "'".addslashes($tmp)."',";  
  13. }  
  14. $tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$k+$numfields-1]));  
  15. $value .= "'".$tmp."'";  
  16. $query = "insert into $table values (".$value.")";  
  17. echo mysql_error();  
  18. mysql_query($query);  
  19. echo $k." ";  
  20. }  
  21. echo "ok";

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇西县| 漯河市| 共和县| 探索| 科尔| 丹棱县| 庆元县| 客服| 崇州市| 邢台县| 北安市| 马尔康县| 大兴区| 若羌县| 宁乡县| 交城县| 乌兰浩特市| 浦县| 郴州市| 合川市| 溧水县| 马公市| 饶河县| 宿迁市| 武汉市| 伊通| 定襄县| 南昌县| 浦城县| 克拉玛依市| 大田县| 南靖县| 新田县| 太和县| 海伦市| 寿阳县| 寻乌县| 临朐县| 和政县| 贡觉县| 会理县|