Jak wyeksportować pliki danych z bazy danych Linux MySQL?polecenie eksportu instrukcji csv

Jak eksportować pliki danych z bazy danych MySQL w systemie Linux ? Jakie są polecenia eksportu do pliku CSV?

MySQLeksportuj dane danych

W MySQL możesz użyć polecenia SELECT … INTO OUTFILE , aby łatwo wyeksportować dane do pliku tekstowego.


Wyeksportuj dane za pomocą instrukcji SELECT ... INTO OUTFILE

W poniższym przykładzie wyeksportujemy tabelę danych do pliku /tmp/tutorials.txt:

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

Możesz ustawić określony format danych wyjściowych za pomocą opcji poleceń. Poniższy przykład dotyczy eksportowania formatu CSV:

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

W poniższym przykładzie generowany jest plik z wartościami oddzielonymi przecinkami.Ten format może być używany przez wiele programów.

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

Instrukcja SELECT ... INTO OUTFILE ma następujące atrybuty:

  • LOAD DATA INFILE to operacja odwrotna do składni SELECT ... INTO OUTFILE, SELECT.Aby zapisać dane z bazy danych do pliku, użyj SELECT ... INTO OUTFILE, a aby wczytać plik z powrotem do bazy danych, użyj LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE SELECT w postaci 'nazwa_pliku' może zapisać wybrane wiersze do pliku.Plik jest tworzony na hoście serwera, więc musisz mieć uprawnienie do PLIKU, aby użyć tej składni.
  • Dane wyjściowe nie mogą być istniejącym plikiem.Zapobiegaj manipulowaniu danymi plików.
  • Czy musisz mieć konto, aby zalogować się na serwerze, aby pobrać pliki.W przeciwnym razie SELECT ... INTO OUTFILE nie przyniesie żadnego efektu.
  • W systemie UNIX plik jest tworzony tak, aby można go było odczytać, a uprawnienia należy do serwera MySQL.Oznacza to, że chociaż możesz odczytać plik, możesz nie być w stanie go usunąć.

Eksportuj tabelę jako surowe dane

Tworzy głównie skrypt SQL zawierający polecenia CREATE TABLE INSERT itp. potrzebne do odtworzenia bazy danych od podstaw.

Aby wyeksportować dane za pomocą mysqldump, musisz użyć opcji –tab, aby określić katalog określony w pliku eksportu, a miejsce docelowe musi umożliwiać zapis.

Poniższy przykład eksportuje tabelę danych chenweiliang_tbl do katalogu /tmp:

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

Eksportuj dane w formacie SQL

Eksportuj dane w formacie SQL do określonego pliku w następujący sposób:

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

Zawartość pliku utworzonego przez powyższe polecenie jest następująca:

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

Jeśli chcesz wyeksportować dane całej bazy danych, możesz użyć następującego polecenia:

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

Jeśli chcesz wykonać kopię zapasową wszystkich baz danych, możesz użyć następującego polecenia:

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

Opcja --all-databases została dodana w MySQL 3.23.12 i późniejszych.

Ta metoda może służyć do implementacji strategii tworzenia kopii zapasowych bazy danych.


Skopiuj tabele danych i bazy danych na inne hosty

Jeśli chcesz skopiować dane na inny serwer MySQL, możesz określić nazwę bazy danych i tabelę w poleceniu mysqldump.

Wykonaj następujące polecenie na hoście źródłowym, aby utworzyć kopię zapasową danych w pliku dump.txt:

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

Jeśli tworzysz pełną kopię zapasową bazy danych, nie musisz używać określonej nazwy tabeli.

Jeśli chcesz zaimportować kopię zapasową bazy danych na serwer MySQL, możesz użyć następującego polecenia, za pomocą poniższego polecenia musisz potwierdzić, że baza danych została utworzona:

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

Powyższe polecenie używa potoku do importowania wyeksportowanych danych do określonego zdalnego hosta.

发表 评论

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

Przewiń do góry