成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

mysql實現從導出數據的sql文件中只導入指定的一個表

瀏覽:2日期:2023-10-09 15:12:57

場景

昨天系統自動備份了某一個數據庫的全部表數據,名dbAll.sql.gz。文件較大(如40G)

今天因發現某一個表tableA的一條數據存在問題,需核對兩條記錄的變化。需從dbAll中找回tableA的數據,以便比較該記錄。

操作方案

1.將dbAll.sql.gz導入待比較的數據庫(臨時數據庫)中,然后比較tableA。不推介,因為數據量太大,很耗時

2.解壓dbAll.sql.gz后,通過Java代碼讀取dbAll.sql中的關于tableA的CREATE語句及INSERT語句等到文件tableA.sql,然后通過tableA.sql導入臨時數據庫即可進行比較。

3.參見(沒試過):mysqldump 導出的是全庫 alldb.sql 導入的時候可不可以只導其中的一個表

法1:

perl extract_sql.pl -t mytable -r mydumpfile > mytable.sql

法2:

cat test1db.sql | sed -n ‘/Table structure for table .test1./,/Table structure for table .test2./p’>/tmp/xxx.sql

法3:

awk ‘/Table structure for table .test1./,/Table structure for table .test2./{print}’ src_bake_db.sql.gz > targetdb.sql

法3說明:將src_bake_db.sql.gz壓縮文件中的test1、test2表的數據導出到targetdb.sql中

補充知識:mysql命令行導出整個庫里面所有表的前一百條數據

如下所示:

mysqldump -uysp -pYspxxx db_name --where='1=1 limit 100' >/mnt/share/paxxx.com/backup.sql

直接在命令行運行就可以了,不需要登陸mysql客戶端。

mysqldump -h 服務器名 -u 賬號名-p 數據庫名 --where='true limit 100'> /tmp/supports_launch.sql

phpmyadmin導出php腳本:

http://local.phpmyadmin.com/export.php

以上這篇mysql實現從導出數據的sql文件中只導入指定的一個表就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: MySQL 數據庫
相關文章: