Artikola Adresaro
linux MySQL-datumbazoKiel eksporti datumajn dosierojn?eksporti csv-deklaran komandon
MySQLeksporti datumojn de datumoj
En MySQL vi povas uziELEKTU … EN OUTFILEdeklaro por simple eksporti datumojn al tekstdosiero.
Eksportu datumojn per la deklaro SELECT ... INTO OUTFILE
En la sekva ekzemplo ni eksportos la datuman tabelon al la dosiero /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Vi povas agordi la specifitan formaton de datuma eligo per komandaj opcioj. La sekva ekzemplo estas por eksporti CSV-formaton:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
En la sekva ekzemplo, dosiero estas generita kun valoroj apartigitaj per komoj.Ĉi tiu formato povas esti uzata de multaj programoj.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
La deklaro SELECT ... INTO OUTFILE havas la jenajn atributojn:
- LOAD DATA INFILE estas la inversa operacio de SELECT ... INTO OUTFILE, SELECT sintakso.Por skribi datumojn de datumbazo al dosiero, uzu SELECT ... INTO OUTFILE, kaj por relegi la dosieron en la datumbazon, uzu LOAD DATA INFILE.
- SELECT ... INTO OUTFILE SELECT de la formo 'dosiernomo' povas skribi la elektitajn liniojn al dosiero.La dosiero estas kreita sur la servila gastiganto, do vi devas havi DOSIERO-permeson por uzi ĉi tiun sintakson.
- La eligo ne povas esti ekzistanta dosiero.Malhelpi dosierajn datumojn esti mistraktataj.
- Ĉu vi bezonas havi konton por ensaluti al la servilo por preni dosierojn.Alie SELECT ... INTO OUTFILE ne havos efikon.
- En UNIKSO, la dosiero estas kreita por esti legebla, kaj permesoj estas posedataj de la MySQL-servilo.Ĉi tio signifas, ke dum vi povas legi la dosieron, vi eble ne povos forigi ĝin.
Eksporti tabelon kiel krudaj datumoj
Ĝi ĉefe produktas SQL-skripton enhavantan la ordonojn CREATE TABLE INSERT ktp necesajn por rekrei la datumbazon de nulo.
Por eksporti datumojn per mysqldump, vi devas uzi la opcion –tab por specifi la dosierujon specifitan de la eksportdosiero, kaj la celo devas esti skribebla.
La sekva ekzemplo eksportas la datumtabelon chenweiliang_tbl al la dosierujo /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Eksportu datumojn en SQL-formato
Eksportu datumojn en SQL-formato al la specifita dosiero, jene:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
La enhavo de la dosiero kreita per la supra komando estas jena:
- 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' );
Se vi bezonas eksporti la datumojn de la tuta datumbazo, vi povas uzi la jenan komandon:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Se vi bezonas sekurkopii ĉiujn datumbazojn, vi povas uzi la jenan komandon:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
La opcio --all-databases estis aldonita en MySQL 3.23.12 kaj poste.
Ĉi tiu metodo povas esti uzata por efektivigi datumbazan rezervan strategion.
Kopiu datumtablojn kaj datumbazojn al aliaj gastigantoj
Se vi bezonas kopii datumojn al alia MySQL-servilo, vi povas specifi la datumbazan nomon kaj tabelon en la komando mysqldump.
Efektivigu la sekvan komandon sur la fonta gastiganto por konservi la datumojn al la dump.txt-dosiero:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Se vi plene rezervas la datumbazon, vi ne bezonas uzi specifan tabelnomon.
Se vi bezonas importi la rezervan datumbazon al la MySQL-servilo, vi povas uzi la jenan komandon, uzante la jenan komandon vi devas konfirmi, ke la datumbazo estas kreita:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
La supra komando uzas tubon por importi la eksportitajn datumojn al la specifita fora gastiganto.
Hope Chen Weiliang Blogo ( https://www.chenweiliang.com/ ) konigis "Kiel eksporti datumdosierojn el Linukso MySQL-datumbazo?Eksportu komandon de deklaro csv" por helpi vin.
Bonvenon dividi la ligon de ĉi tiu artikolo:https://www.chenweiliang.com/cwl-501.html
