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

Linux Baza danych MySQLJak wyeksportować pliki danych?polecenie eksportu instrukcji csv

MySQLeksportuj dane danych

W MySQL możesz użyćWYBIERZ… DO PLIKU WYJŚCIOWEGOoświadczenie, aby po prostu 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.

Nadzieja Chen Weiliang Blog ( https://www.chenweiliang.com/ ) udostępniony "Jak eksportować pliki danych z bazy danych Linux MySQL?Eksportuj polecenie wyciągu csv”, aby ci pomóc.

Zapraszamy do udostępnienia linku do tego artykułu:https://www.chenweiliang.com/cwl-501.html

Aby odblokować więcej ukrytych sztuczek🔑, zapraszamy do dołączenia do naszego kanału Telegram!

Udostępnij i polub jeśli Ci się podoba! Twoje udostępnienia i polubienia są naszą ciągłą motywacją!

 

发表 评论

Twój adres e-mail nie zostanie opublikowany. 必填 项 已 用 * 标注

Przewiń do góry