使用SELECT INTO進行備份
使用SELECT INTO進行備份與MySQLDUMP很相似,同樣是把數據庫備份到一個指定的文件中。其結果文件只能被建立在MySQL服務器上,而不是任何其他主機。SELECT INTO語句的語法格式如下:
Select … into outfile 'path_and_filename' ;
示例:
使用SELECT INTO語句查詢數據庫“mr_MySQL”中的“mr_gly”表,把該表備份到“D:\\gly.txt”目錄下,文件的名稱是“gly.txt”。
mysql> use mr_MySQL
Database changed
MySQL> select * from mr_gly into outfile "D:\\gly.txt";
Query OK, 5 rows affected (0.00 sec)
下面的這些參數是SELECT INTO語句的非默認參數。
[fIElds
[terminated by '\t' ] //設置輸出文件以什麼作為分界標識
[enclosed by '' ] //指定的字符包圍了所有的域
[[optionally] enclosed by '' ] //指定只有字符域被包括
[escaped by '\\'] ]
[lines terminated by '\n' ] //設置長行的中斷被什麼字符代替
下面是應用了SELECT INTO語句非默認參數的幾個示例。
示例:
在每個域之間,默認的制表符被字符“|”代替。
MySQL> use tpsc
Database changed
MySQL> select * from jtsr into outfile "D:\\user1.txt" fIElds terminated by '|' ;
Query OK, 5 rows affected (0.00 sec)
示例:
Enclosed關鍵字用指定的字符“雙引號”包圍了所有的域。
MySQL> select * from jtsr into outfile "D:\\user2.txt" fIElds terminated by '|' enclosed by '"';
Query OK, 5 rows affected (0.02 sec)
示例:
Optionally關鍵字的使用,導致了只有字符域被雙引號包括。
MySQL> select * from jtsr into outfile "D:\\user3.txt" fIElds terminated by '|' optionally enclosed by '"' ;
Query OK, 5 rows affected (0.02 sec)
示例:
lines terminated的使用,使每行之間的中斷被字符“\n”代替。
MySQL> select * from jtsr into outfile "D:\\user4.txt" fIElds terminated by '|' lines terminated by '\n' ;
Query OK, 5 rows affected (0.02 sec)
示例:
綜合使用這些參數。
MySQL> select * from jtsr into outfile "D:\\user5.txt" fIElds terminated by '|' optionally enclosed
by '"' lines terminated by '\n' ;
Query OK, 5 rows affected (0.02 sec)
示例:
使用SELECT語句中的條件進行備份。
MySQL> select * from jtsr where id>3 into outfile "D:\\user6.txt" fIElds terminated by '|' optionall
y enclosed by '"' lines terminated by '\n' ;
Query OK, 2 rows affected (0.01 sec)
注意:在使用SELECT INTO語句時,為備份的文件命名時切忌不要重寫已存在的文件;在編寫文件輸出的位置時不要忘記使用換碼符“\”。