Imenik člankov
Linux Baza podatkov MySQLKako izvoziti podatkovne datoteke?izvoz ukaza csv
MySQLizvoz podatkov podatkov
V MySQL lahko uporabiteIZBERI … V IZDAJNO DATOTEKOstavek za preprost izvoz podatkov v besedilno datoteko.
Izvozite podatke s stavkom SELECT ... INTO OUTFILE
V naslednjem primeru bomo podatkovno tabelo izvozili v datoteko /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Določen format izpisa podatkov lahko nastavite prek ukaznih možnosti. Naslednji primer je za izvoz formata CSV:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
V naslednjem primeru je datoteka ustvarjena z vrednostmi, ločenimi z vejicami.To obliko lahko uporabljajo številni programi.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
Stavek SELECT ... INTO OUTFILE ima naslednje atribute:
- LOAD DATA INFILE je inverzna operacija sintakse SELECT ... INTO OUTFILE, SELECT.Za pisanje podatkov iz baze podatkov v datoteko uporabite SELECT ... INTO OUTFILE, za branje datoteke nazaj v bazo podatkov pa uporabite LOAD DATA INFILE.
- SELECT ... INTO OUTFILE SELECT v obliki 'ime_datoteke' lahko zapiše izbrane vrstice v datoteko.Datoteka je ustvarjena na gostitelju strežnika, zato morate imeti dovoljenje FILE za uporabo te sintakse.
- Izhod ne more biti obstoječa datoteka.Preprečite spreminjanje podatkov datoteke.
- Ali morate imeti račun za prijavo v strežnik za pridobivanje datotek.V nasprotnem primeru SELECT ... INTO OUTFILE ne bo imel učinka.
- V UNIX-u je datoteka ustvarjena tako, da je berljiva, dovoljenja pa so v lasti strežnika MySQL.To pomeni, da lahko datoteko preberete, vendar je morda ne boste mogli izbrisati.
Izvozi tabelo kot neobdelane podatke
V glavnem ustvari skript SQL, ki vsebuje ukaze CREATE TABLE INSERT itd., potrebne za ponovno ustvarjanje baze podatkov iz nič.
Če želite izvoziti podatke z uporabo mysqldump, morate uporabiti možnost –tab, da določite imenik, ki ga določa izvozna datoteka, cilj pa mora biti zapisljiv.
Naslednji primer izvozi podatkovno tabelo chenweiliang_tbl v imenik /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Izvoz podatkov v formatu SQL
Izvozite podatke v formatu SQL v navedeno datoteko, kot sledi:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Vsebina datoteke, ustvarjene z zgornjim ukazom, je naslednja:
- 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' );
Če želite izvoziti podatke celotne zbirke podatkov, lahko uporabite naslednji ukaz:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Če morate varnostno kopirati vse baze podatkov, lahko uporabite naslednji ukaz:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
Možnost --all-databases je bila dodana v MySQL 3.23.12 in novejših.
To metodo je mogoče uporabiti za izvajanje strategije varnostnega kopiranja baze podatkov.
Kopiranje podatkovnih tabel in baz podatkov na druge gostitelje
Če morate kopirati podatke na drug strežnik MySQL, lahko podate ime baze podatkov in tabelo v ukazu mysqldump.
Izvedite naslednji ukaz na izvornem gostitelju, da varnostno kopirate podatke v datoteko dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Če varnostno kopirate celotno bazo podatkov, vam ni treba uporabiti določenega imena tabele.
Če morate uvoziti varnostno bazo podatkov v strežnik MySQL, lahko uporabite naslednji ukaz, z naslednjim ukazom morate potrditi, da je bila baza podatkov ustvarjena:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Zgornji ukaz uporablja cev za uvoz izvoženih podatkov v navedeni oddaljeni gostitelj.
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) deli "Kako izvoziti podatkovne datoteke iz baze podatkov Linux MySQL?Izvozi ukaz za izjavo csv", ki vam bo pomagal.
Dobrodošli, da delite povezavo tega članka:https://www.chenweiliang.com/cwl-501.html
Če želite odkleniti več skritih trikov🔑, se pridružite našemu Telegram kanalu!
Delite in všečkajte, če vam je všeč! Vaše delitve in všečki so naša nadaljnja motivacija!