Kuidas eksportida andmefaile Linux MySQL andmebaasist?eksportida csv-lause käsk

Kuidas eksportida andmefaile Linuxi MySQL-i andmebaasist ? Millised on käsud CSV-vormingusse eksportimiseks?

MySQLandmete eksportimine

MySQL-is saate andmete hõlpsaks tekstifaili eksportimiseks kasutada lauset SELECT … INTO OUTFILE .


Eksportige andmed lause SELECT ... INTO OUTFILE abil

Järgmises näites ekspordime andmetabeli faili /tmp/tutorials.txt:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Määratud andmeväljundi vormingu saate määrata käsuvalikute kaudu. Järgmine näide on CSV-vormingu eksportimiseks:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

Järgmises näites luuakse fail komadega eraldatud väärtustega.Seda vormingut saavad kasutada paljud programmid.

SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

Avaldusel SELECT ... INTO OUTFILE on järgmised atribuudid:

  • LOAD DATA INFILE on süntaksi SELECT ... INTO OUTFILE, SELECT pöördtehing.Andmete kirjutamiseks andmebaasist faili kasutage käsku SELECT ... INTO OUTFILE, faili uuesti andmebaasi lugemiseks aga LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE Vormi "faili_nimi" SELECT saab kirjutada valitud read faili.Fail luuakse serveri hostis, seega peab teil selle süntaksi kasutamiseks olema FILE luba.
  • Väljund ei saa olla olemasolev fail.Vältige failiandmete rikkumist.
  • Kas teil peab olema konto, et failide allalaadimiseks serverisse sisse logida?Vastasel juhul ei mõjuta VALIK ... INTO OUTFILE.
  • UNIX-is luuakse fail loetavaks ja õigused kuuluvad MySQL-serverile.See tähendab, et kuigi saate faili lugeda, ei pruugi te saada seda kustutada.

Ekspordi tabel toorandmetena

See toodab peamiselt SQL-skripti, mis sisaldab käske CREATE TABLE INSERT jne, mis on vajalikud andmebaasi nullist taasloomiseks.

Andmete eksportimiseks mysqldumpi abil peate ekspordifaili määratud kataloogi määramiseks kasutama suvandit –tab ja sihtmärk peab olema kirjutatav.

Järgmine näide ekspordib andmetabeli chenweiliang_tbl kataloogi /tmp:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

Andmete eksportimine SQL-vormingus

Eksportige andmed SQL-vormingus määratud faili järgmiselt:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 
密码******

Ülaltoodud käsuga loodud faili sisu on järgmine:

- MySQL 转储8.23 - - 主机:localhost     数据库:chenweiliang
 ----------------------------------- ---------------------- - 服务器版本        3.23 。58   

 
 

- - 表结构为表`chenweiliang_tbl` -
 


CREATE TABLE chenweiliang_tbl (
  chenweiliang_id INT (11 )NOT NULL的auto_increment ,
  chenweiliang_title VARCHAR (100 )NOT NULL 默认'' ,
  chenweiliang_author VARCHAR (40 )NOT NULL 默认'' ,
  submission_date日期默认NULL ,
  PRIMARY KEY   (chenweiliang_id ),
  UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ;  


- - 转储数据的表`chenweiliang_tbl` -
 


INSERT INTO chenweiliang_tbl 
       VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );

Kui teil on vaja eksportida kogu andmebaasi andmed, saate kasutada järgmist käsku:

$ mysqldump - u root - p chenweiliang > database_dump 。文本
密码******

Kui teil on vaja varundada kõik andmebaasid, saate kasutada järgmist käsku:

$ mysqldump - u root - p - all - databases > database_dump 。文本
密码******

Valik --all-databases lisati MySQL 3.23.12 ja uuemates versioonides.

Seda meetodit saab kasutada andmebaasi varundusstrateegia rakendamiseks.


Kopeerige andmetabelid ja andmebaasid teistele hostidele

Kui teil on vaja andmeid teise MySQL-serverisse kopeerida, saate käsus mysqldump määrata andmebaasi nime ja tabeli.

Andmete faili dump.txt varundamiseks käivitage lähtehostis järgmine käsk:

$ mysqldump - u root - p database_name table_name > dump 。文本 
密码*****

Kui varundate andmebaasi täielikult, ei pea te kasutama konkreetset tabelinime.

Kui teil on vaja varuandmebaasi importida MySQL-i serverisse, saate kasutada järgmist käsku, mille abil peate kinnitama, et andmebaas on loodud:

$ mysql - u root - p database_name < dump 。文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host 。com database_name

Ülaltoodud käsk kasutab eksporditud andmete importimiseks määratud kaughostisse toru.

发表 评论

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

Leidke Top