Kako izvoziti podatkovne datoteke iz baze podatkov Linux MySQL?izvoz ukaza csv

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.

发表 评论

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

Pomaknite se na vrh