load data [low_priority | concurrent] [local] infile 'file_name.txt'
[replace | ignore]
into table tbl_name
[fields
[terminated by 'string']
[[optionally] enclosed by 'char']
[escaped by 'char' ]
][lines
[starting by 'string']
[terminated by 'string']
][ignore number lines]
[(col_name_or_user_var,...)]
[set col_name = expr,...)]
[low_priority | concurrent]
-與同時執行優先順序相關,暫不考慮,insert語句也有類似選項[low_priority | delayed | high_priority]
[local]
-指定後從客戶端本地上傳檔案,可用絕對路徑和相對路徑,相對路徑被理解為相對於啟動客戶端時所在的目錄,一般為c:\users\administrator
-沒有指定時,在主機端尋找檔案,可用絕對路徑和相對路徑,當使用相對路徑時理解為資料庫資料夾所在目錄,但要區分'./file_name.txt'和'file_name.txt'區別
[replace | ignore]
-針對插入時出現重複唯一索引時起效,replace替換,ignore跳過
-insert語句中也有ignore選項,用於出現重複唯一索引或錯誤值,另[ on duplicate key update col_name=expr, ... ]子句用於更新原索引
[fields
[terminated by 'string']-兩個欄位間用什麼字元分隔/預設\t
[[optionally]-用於字元資料,數值資料不起效 enclosed by 'char']-乙個欄位用成對的字元分隔\預設空
[escaped by 'char' ]-轉義字元\預設反斜槓,用'\\'表示
][lines
[starting by 'string']-記錄行從什麼字元開始/預設空
[terminated by 'string']-記錄行間用什麼字元分隔/預設\n
][ignore number lines]
-指定number用於從開始跳過number行開始匯入
[(col_name_or_user_var,...)]
-用於指定匯入字段列表,可以使用變數然後被下面的子句匯入
[set col_name = expr,...)]
-指定單個字段值
1、windows檔案分隔行時應使用\r\n
2、當資料庫為utf8時,匯入的檔案型別也應該是utf8,但是某些utf8檔案會在檔案頭多出3個引導位元組,這造成用load data infile匯入時首記錄的首字段出現錯誤,使用character_set_database用於解釋匯入檔案的編碼方式,設定character_set_database=gbk匯入ascii檔案,即使資料庫是utf8編碼也可以正常匯入,這可以有效解決utf8檔案匯入問題
3、如果把終止符設定為'',在此情況下,文字檔案必須包含每行的所有字段。
4、如果lines terminated by是空字串,並且fields terminated by不是空字串,則各行以fields terminated by作為結尾。
-*****-
select col_name from table_name into outfile 'file_name'
select col_name into outfile from table_name
-兩種方式均可
-作為與load data infile配套使用,其fileds和lines選項必須完全匹配
-如果用into dumpfile代替into outfile,則只把一行寫入到檔案中,不對任何列或行進行終止,也不執行任何轉義處理
-file_name如果為相對路徑則被理解為相對於啟動客戶端時所在的目錄,一般為e:\wamp\bin\mysql\mysql5.5.20\data\所在資料庫名
將標準控制台輸出變成檔案輸出
-mysql -uroot -e "sql語句" > outfile;
-mysql -uroot < slqfile > outfile;
-上面2種方式均可,檔案路徑預設為啟動mysql路徑,一般為c:\users\administration\desktop\
-*****-
資料庫備份程式mysqldump
shell> mysqldump [options] db_name [tables] > file_name
-備份資料表,如果不指定表則備份全部資料表,備份語句中不包括資料庫的建立,那麼的恢復的時候必須首先建立並use資料庫
shell> mysqldump [options] --database db1 [db2 db3...] > file_name
shell> mysqldump [options] --all-database > file_name
-備份資料庫,如果不指表則備份全部資料表,備份語句中不包括資料庫的建立
2、file_name如果為相對路徑則被理解為啟動客戶端時所在的路徑,一般為c:\users\administrator
3、[options]可選專案較多,暫了解如下
-[--no-data]僅備份表結構
-[--add-drop-database]備份時加入刪除資料庫語句,防止同名資料庫存在時影響資料庫恢復
-[-add-drop-table]同上
4、[--add-drop-database] [-add-drop-table]有預設選項,在使用時最好用mysqldump -?檢視變數值,需要改變時[-add-drop-table=false]等號兩邊不能有空格
5、以上引數中短橫線-及其數量要精確匹配
聚石塔使用bat:
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set hh=%time:~0,2%
set mn=%time:~3,2%
if /i %hh% lss 10 (set hh=0%time:~1,1%)
d:cd wamp
cd bin
cd mysql
cd mysql5.5.20
cd bin
mysqldump -hlocalhost -uroot --add-drop-database --database a0109202126 > d:\wamp\sql\%yy%%mm%%dd%-%hh%.%mn%.sql
mysql 備份與恢復 MySQL 備份與恢復
1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...
mysql備份和恢復 mysql備份和恢復
目標 備份和恢復的3種方法,掌握mysqldump命令匯出資料,source命令匯入資料 備份必要性 重要資料不丟失 資料轉移 mysqldump客戶端 作用 轉儲資料庫 搜尋資料庫進行備份 將資料轉移到另乙個sql伺服器 不一定是mysql伺服器 mysqldump h 主機名 u使用者名稱 p ...
mysql 備份與恢復 Mysql 備份與恢復
資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...