當前位置:成語大全網 - 漢語詞典 - 我想問壹下如何導入導出MYSQL?我導出後,是壹個. TXT文本。怎麽才能導入?

我想問壹下如何導入導出MYSQL?我導出後,是壹個. TXT文本。怎麽才能導入?

MySQL導入數據的方式有很多,但這些只是數據傳輸的壹半,另外壹種通常是從MySQL數據庫導出數據。我們需要導出數據的原因有很多。壹個重要的原因是備份數據庫。數據通常很昂貴,需要小心處理。經常備份有助於防止寶貴數據的丟失。另壹個原因是,您可能希望導出數據以供欣賞。在這個不斷發展的信息技術世界中,享受數據變得越來越普遍。

例如,Macmillan USA維護著壹個即將出版的書籍的大型數據庫。這個數據庫是很多書店共享的,這樣他們就知道哪些書即將出版。醫院越來越多地采用無紙化病歷,這樣這些病歷就可以隨時跟隨著妳。世界越來越小,信息越來越被享受。在中有許多導出數據的方法,它們都與導入數據非常相似。因為畢竟這些只是壹種透視方式。從數據庫導出的數據就是從另壹端導入的數據。在這裏,我們不會討論從其他數據庫導出數據的各種方法,但是您將學習如何使用MySQL導出數據。

使用mysqldump:

(mysqldump命令位於mysql/bin/目錄中。)

mysqldump工具在許多方面類似於相反的工具mysqlimport。他們有壹些相同的選擇。但是mysqldump可以做得更多。它可以將整個數據庫加載到壹個文本文件中。該文件包含重建數據庫所需的所有SQL命令。該命令獲取所有模式(稍後解釋)並將其轉換為DDL語法(CREATE語句,即數據庫定義語句),獲取所有數據,並根據這些數據創建INSERT語句。此工具反轉數據庫中的所有設計。因為壹切都包含在文本文件中。這個文本文件可以通過簡單的批處理和適當的SQL語句導入MySQL。這個工具非常簡單快捷。永遠不會有什麽頭疼的事。

因此,如果要將整個數據庫Meet_A_Geek的內容加載到壹個文件中,可以使用以下命令:

bin/mysqldump–p Meet _ A _ Geek & gt;MeetAGeek_Dump_File.txt

該語句還允許您指定壹個轉儲表(備份/導出/加載?)。如果您只想將數據庫Meet_A_Geek中訂單表的全部內容導出到壹個文件中,您可以使用以下命令:

bin/mysqldump–p Meet _ A _ Geek Orders & gt;MeetAGeek_Orders.txt

這非常靈活,您甚至可以使用WHERE子句來選擇您需要的記錄並將它們導出到壹個文件中。要實現這壹目標,您可以使用類似下面的命令:

bin/mysqldump–p–where = " Order _ ID & gt;2000年“Meet_A_Geek訂單& gtSpecial_Dump.txt

Mysqldump工具有大量選項,其中壹些選項如下:

選項/選項操作/執行的操作

-添加-刪除-表格

這個選項會在每個表的前面增加壹個DROP TABLE IF EXISTS語句,這樣可以保證在導入回MySQL數據庫的時候不會出錯,因為每次導入回去的時候都會先檢查壹下檢查表,如果存在就刪除。

-附加鎖

該選項將在INSERT語句中捆綁LOCK TABLE和UNLOCK TABLE語句。這可以防止其他用戶在將這些記錄再次導入數據庫時操作該表。

-c或-完成_插入

該選項使mysqldump命令將字段的名稱添加到每個生成的INSERT語句中。將數據導出到另壹個數據庫時,此選項很有用。

- DELAYed-INSERT將延遲選項添加到插入命令中。

-F或-flush-logs使用此選項,MySQL服務器的日誌將在導出前刷新。

-f或-force使用此選項繼續導出,即使出現錯誤。

- full該選項向CREATE TABLE語句添加附加信息。

-l或-lock-tables使用此選項,服務器將在導出表時鎖定該表。

-t或-no-create- info

該選項防止mysqldump命令創建CREATE TABLE語句,這在您只需要數據而不是DDL(數據庫定義語句)時很方便。

-d或-no-data選項使mysqldump命令不創建INSERT語句。

當您只需要DDL語句時,可以使用此選項。

- opt此選項將打開所有可以提高文件導出速度的選項,並創建壹個可以更快導入的文件。

-q或-quick選項使MySQL在導出之前不會將整個導出的內容讀入內存,而是在讀取時將其寫入向導文件。

-T path或-tab = path該選項將創建兩個文件,壹個包含DDL語句或表創建語句,另壹個包含數據。DDL文件命名為table_name.sql,數據文件命名為table_name.txt,路徑名是存儲這兩個文件的目錄。該目錄必須已經存在,並且該命令的用戶擁有該文件的權限。

-w "WHERE子句"或-where = "Where子句"

如前所述,您可以使用這個選項來過濾要放入導出文件的數據。

假設您需要為要在表單中使用的帳戶創建壹個文件。經理想查看今年(2004年)的所有訂單。他們對DDL不感興趣,文件需要用逗號分隔,因為很容易導入Excel。要完成這個字符,您可以使用下面的句子:

bin/mysqldump–p–where " Order _ Date & gt;='2000-01-01'"

–tab =/home/mark–no-create-info–fields-terminated-by =,Meet_A_Geek訂單

這樣會得到妳想要的結果。

架構:架構

用數據定義語言表示的壹組語句,它完整地描述了數據庫的結構。

用數據定義語言表達的壹組語句,完整地描述了數據庫的結構。

選擇到輸出文件:

如果妳覺得mysqldump工具不夠酷,就用SELECT INTO OUTFILE。MySQL還提供了壹個與LOAD DATA INFILE命令效果相反的命令,即SELECT INTO OUTFILE命令。這兩個命令有許多相似之處。首先,他們有幾乎相同的選擇。現在,您需要完成用mysqldump完成的功能。您可以遵循以下步驟:

1.確保mysqld進程(服務)正在運行。

2.cd /usr/local/mysql

3.bin/MySQL admin ping;//如果這句話不過關,可以用這個:mysqladmin -u root -p ping。

Mysqladmin ping用於檢測mysqld的狀態,處於活動狀態意味著它正在運行,出錯時可能需要用戶名和密碼。

4.啟動MySQL監聽器。

5.bin/MySQL–p Meet _ A _ Geek;//進入mysql命令行,打開數據庫Meet_A_Geek。妳需要輸入密碼。

6.在命令行中,輸入命令:

SELECT * INTO OUTFILE '/home/mark/orders . txt '

田地(復數);場;域;字段

終止於= ','

來自訂單

其中訂單日期& gt= '2000-01-01'

文件是在您按下Return鍵後創建的。這個句子就像壹個常規的SELECT語句,但是它將屏幕的輸出重定向到壹個文件。這意味著可以使用JOIN實現多表的高級查詢。此功能也可以用作報告生成器。

例如,您可以結合本章中討論的方法來生成壹個非常有趣的查詢。試試這個:

在mysql目錄中創建壹個名為Report_G.rpt的文本文件,並添加以下行:

使用Meet _ A _ Geek

插入到客戶(客戶標識,姓氏,名字)

值(NULL、“Kinnard”、“Vicky”);

插入到客戶(客戶標識,姓氏,名字)

值(NULL、“Kinnard”、“Steven”);

插入到客戶(客戶標識,姓氏,名字)

值(NULL、“Brown”、“Sam”);

SELECT姓氏到OUTFILE '/home/mark/Report.rpt '

來自客戶,其中Customer _ ID & gt1;

然後確認mysql進程正在運行,並且您位於mysql目錄中,並輸入以下命令:

bin/MySQL & lt;Report_G.rpt檢查您命名為輸出的文件,該文件將包含您在Customers表中輸入的所有客戶的姓氏。如您所見,您可以使用今天學到的導入/導出方法來幫助獲得報告。