簡體   English   中英

從PHP用SQL生成MySQL數據轉儲

[英]Generate MySQL data dump in SQL from PHP

我正在編寫一個PHP腳本以從數據庫中生成SQL轉儲,以進行版本控制。 它已經通過運行適當的SHOW CREATE ....查詢來轉儲數據結構。 現在我想轉儲數據本身,但是我不確定最好的方法。 我的要求是:

  • 我需要每行一條記錄
  • 行必須按主鍵排序
  • 無論數據類型(整數,字符串,二進制數據...)如何,SQL都必須有效且准確
  • 數據未更改時轉儲應該相同

我可以檢測並運行mysqldump作為外部命令,但這增加了額外的系統要求,我需要解析輸出以刪除不需要的轉儲信息(例如服務器版本或轉儲日期)的頁眉和頁腳。 我希望腳本盡可能保持簡單,以便可以將其保存在獨立文件中。

我有什么選擇?

我認為mysqldump輸出解析仍然是最簡單的。 我認為您實際上需要排除的元數據很少,因此刪除這些元數據應該只是幾行代碼。

您還可以查看以下mysqdump選項:--tab,--compact

總是可以嘗試使用system()函數。 希望你在Linux中:)

“通過主鍵從表名順序中選擇*”可以從information_schema數據庫或“顯示表”命令獲取表名。 也可以從“顯示表名的索引”中獲取主鍵,然后循環並創建插入語句字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM