Ki jan yo enpòte txt nan tab done MySQL?Enpòte dosye sql nan leson patikilye baz done

Kijan pou enpòte yon fichye TXT nan yon tab MySQL ? Leson patikilye sou kijan pou enpòte fichye SQL nan yon baz done MySQL.

Done enpòte MySQL

Gen de fason senp yo enpòte done ekspòte pa MySQL nan MySQL.


Enpòte done lè l sèvi avèk CHAJE DONE

Yo bay deklarasyon LOAD DATA INFILE nan MySQL pou mete done yo.Egzanp sa a pral li fichye dump.txt nan anyè aktyèl la epi mete done yo nan dosye a nan tab mytbl baz done aktyèl la.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

 Si yo espesifye mo kle LOCAL la, li endike ke dosye a li pa chemen nan men lame kliyan an.Si yo pa espesifye, yo li dosye a pa chemen sou sèvè a.

Ou ka presize separe valè kolòn nan ak makè fen liy lan nan deklarasyon LOAD DATA a, men makè pa defo yo se lank ak nouvèl liy.

Sentaks paragraf FIELDS ak LINES yo se menm bagay la tou pou tou de kòmandman yo.Tou de kloz yo opsyonèl, men si yo espesifye tou de, kloz FIELDS la dwe parèt anvan kloz LINES la.

Si itilizatè a espesifye yon kloz FIELDS, kloz li yo (TERMINATED BY, [OPTIONALLY] ENCLOSED BY, ak ESCAPED BY) opsyonèl, sepandan, itilizatè a dwe presize omwen youn nan yo.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

Pa default, LOAD DATA mete done yo nan lòd la nan kolòn yo nan dosye done a. Si kolòn yo nan dosye done a pa konsistan avèk kolòn yo nan tablo ki mete a, ou bezwen presize lòd la nan kolòn yo.

Pou egzanp, lòd la kolòn nan dosye done a se a, b, c, men lòd la kolòn nan tablo a mete se b, c, a, sentaks enpòte done a se jan sa a:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

Enpòte done lè l sèvi avèk mysqlimport

Kliyan mysqlimport la bay yon koòdone liy kòmand nan deklarasyon LOAD DATA INFILEQL. Pifò opsyon nan mysqlimport koresponn dirèkteman ak kloz la LOAD DATA INFILE.

Pou enpòte done nan tab done mytbl ki soti nan fichye dump.txt, yo ka itilize kòmandman sa a:

$ mysqlimport -u root -p --local database_name dump.txt
password *****

Kòmandman mysqlimport la ka presize opsyon pou mete fòma espesifye a. Fòma deklarasyon lòd la se jan sa a:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  database_name dump.txt
password *****

Sèvi ak opsyon --columns nan deklarasyon mysqlimport pou mete lòd kolòn yo:

$ mysqlimport -u root -p --local --columns=b,c,a \
    database_name dump.txt
password *****

Entwodiksyon nan opsyon komen nan mysqlimport

选项功能
-d oswa --deleteEfase tout enfòmasyon ki nan tablo done a anvan yo enpòte nouvo done nan tablo done a
-f oswa -fòsmysqlimport ap fòse yo kontinye mete done kèlkeswa si li rankontre yon erè oswa ou pa
-mwen oswa -ignoremysqlimport sote oswa inyore liy ki gen menm kle inik, epi done ki nan fichye enpòte a inyore.
-l oswa -lock-tablesTablo a fèmen anvan done yo mete, sa ki anpeche demann itilizatè yo ak mizajou yo afekte lè ou mete ajou baz done a.
-r oswa -ranplaseOpsyon sa a se opoze a opsyon -i a; opsyon sa a pral ranplase dosye ak menm kle inik nan tablo a.
--fields-enclosed-by= charEspesifye kisa pou mete dosye done a nan dosye tèks la.Nan anpil ka, done yo fèmen ak sitasyon doub.Done yo pa fèmen nan karaktè pa default.
--fields-terminated-by=charEspesifye delimiter ki genyen ant valè yo nan chak done.Nan yon fichye delimite peryòd, delimiter la se yon peryòd.Ou ka itilize opsyon sa a pou presize delimiter ki genyen ant done yo.Delimiter default la se karaktè tab la (Tab)
--lines-terminated-by=strOpsyon sa a espesifye yon fisèl oswa karaktè ki delimite done ant liy nan yon dosye tèks.Pa default mysqlimport itilize newline kòm séparateur liy lan.Ou ka chwazi ranplase yon karaktè sèl ak yon fisèl: yon nouvo liy oswa yon retounen cha.

Opsyon komen pou kòmand mysqlimport la gen ladan -v pou montre vèsyon an (vèsyon), -p pou mande yon modpas, ak sou sa.

kòmantè

您的邮箱地址不会被公开。必填项已用*标注

Ki gen tèt