Kako izvesti datoteke podataka iz Linux MySQL baze podataka?izvoz csv naredbe

Linux MySQL baza podatakaKako izvesti datoteke sa podacima?izvoz csv naredbe

MySQLizvoz podataka

U MySQL možete koristitiSELECT ... INTO OUTFILEizjavu da jednostavno izvezete podatke u tekstualnu datoteku.


Izvezite podatke koristeći izraz SELECT ... INTO OUTFILE

U sljedećem primjeru ćemo izvesti tablicu podataka u /tmp/tutorials.txt datoteku:

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

Možete podesiti specificirani format izlaza podataka putem opcija naredbe.Sljedeći primjer je za izvoz CSV formata:

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

U sljedećem primjeru, datoteka je generirana s vrijednostima odvojenim zarezima.Ovaj format mogu koristiti mnogi programi.

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

Naredba SELECT ... INTO OUTFILE ima sljedeće atribute:

  • LOAD DATA INFILE je inverzna operacija SELECT ... INTO OUTFILE, SELECT sintaksa.Za pisanje podataka iz baze podataka u datoteku koristite SELECT ... INTO OUTFILE, a za čitanje datoteke natrag u bazu podataka koristite LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE SELECT u obliku 'file_name' može upisati odabrane redove u datoteku.Datoteka je kreirana na hostu servera, tako da morate imati FILE dozvolu za korištenje ove sintakse.
  • Izlaz ne može biti postojeća datoteka.Spriječite neovlašteno mijenjanje podataka u fajlovima.
  • Da li je potrebno da imate nalog da biste se prijavili na server da biste preuzeli fajlove.U suprotnom SELECT ... INTO OUTFILE neće imati efekta.
  • U UNIX-u, fajl je kreiran da bude čitljiv, a dozvole su u vlasništvu MySQL servera.To znači da, iako možete čitati datoteku, možda nećete moći da je izbrišete.

Izvezi tabelu kao neobrađene podatke

Uglavnom proizvodi SQL skriptu koja sadrži naredbe CREATE TABLE INSERT itd. potrebne za ponovno kreiranje baze podataka od nule.

Da biste izvezli podatke koristeći mysqldump, trebate koristiti opciju –tab da navedete direktorij naveden u eksport datoteci, a cilj mora biti upisiv.

Sljedeći primjer izvozi tablicu podataka chenweiliang_tbl u /tmp direktorij:

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

Izvoz podataka u SQL formatu

Izvezite podatke u SQL formatu u navedenu datoteku, kako slijedi:

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

Sadržaj datoteke kreirane gornjom naredbom je sljedeći:

- 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' );

Ako trebate izvesti podatke cijele baze podataka, možete koristiti sljedeću naredbu:

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

Ako trebate napraviti sigurnosnu kopiju svih baza podataka, možete koristiti sljedeću naredbu:

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

Opcija --all-databases dodata je u MySQL 3.23.12 i novijim verzijama.

Ova metoda se može koristiti za implementaciju strategije sigurnosnog kopiranja baze podataka.


Kopirajte tablice podataka i baze podataka na druge hostove

Ako trebate kopirati podatke na drugi MySQL server, možete odrediti ime baze podataka i tablicu u naredbi mysqldump.

Izvršite sljedeću naredbu na izvornom hostu da napravite sigurnosnu kopiju podataka u datoteku dump.txt:

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

Ako napravite sigurnosnu kopiju baze podataka u cijelosti, ne morate koristiti određeno ime tablice.

Ako trebate uvesti rezervnu bazu podataka na MySQL server, možete koristiti sljedeću naredbu, koristeći sljedeću naredbu trebate potvrditi da je baza podataka kreirana:

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

Gornja naredba koristi cijev za uvoz izvezenih podataka na specificirani udaljeni host.

Komentari

Vaša email adresa neće biti objavljena. Koriste se obavezna polja * Oznaka

Dođite na vrh