Katalog artykułów
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ą!