Директориум за статии
Linux MySQL база на податоциКако да извезувате датотеки со податоци?команда за извоз на CSV изјава
MySQL,извоз на податоци
Во MySQL можете да користитеИЗБЕРЕТЕ … ВО ОТФРЛизјава за едноставно извоз на податоци во текстуална датотека.
Извезете податоци користејќи ја изјавата SELECT ... INTO OUTFILE
Во следниот пример ќе ја извеземе табелата со податоци во датотеката /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Можете да го поставите наведениот формат на излез на податоци преку командните опции. Следниот пример е за извоз на CSV формат:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Во следниот пример, датотека е генерирана со вредности одделени со запирки.Овој формат може да се користи од многу програми.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
Изјавата SELECT ... INTO OUTFILE ги има следните атрибути:
- LOAD DATA INFILE е инверзна операција на SELECT ... INTO OUTFILE, SELECT синтакса.За да напишете податоци од база на податоци во датотека, користете SELECT ... INTO OUTFILE, а за да ја прочитате датотеката назад во базата на податоци, користете LOAD DATA INFILE.
- SELECT ... INTO OUTFILE Изборот од формата 'file_name' може да ги запише избраните линии во датотека.Датотеката е креирана на домаќинот на серверот, така што мора да имате дозвола за FILE за да ја користите оваа синтакса.
- Излезот не може да биде постоечка датотека.Спречете манипулација со податоците на датотеките.
- Дали треба да имате сметка за да се најавите на серверот за да ги вратите датотеките.Во спротивно SELECT ... INTO OUTFILE нема да има ефект.
- Во UNIX, датотеката е креирана за да може да се чита, а дозволите се во сопственост на серверот MySQL.Ова значи дека додека можете да ја прочитате датотеката, можеби нема да можете да ја избришете.
Извезете ја табела како необработени податоци
Главно произведува SQL скрипта која ги содржи командите CREATE TABLE INSERT итн. потребни за повторно создавање на базата на податоци од нула.
За да извезете податоци користејќи mysqldump, треба да ја користите опцијата –tab за да го одредите директориумот наведен во датотеката за извоз, а целта мора да може да се запише.
Следниот пример ја извезува табелата со податоци chenweiliang_tbl во директориумот /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Извезете податоци во SQL формат
Извезете податоци во формат SQL во наведената датотека, на следниов начин:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Содржината на датотеката создадена со горната команда е како што следува:
- 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' );
Ако треба да ги извезете податоците од целата база на податоци, можете да ја користите следнава команда:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Ако треба да направите резервна копија на сите бази на податоци, можете да ја користите следнава команда:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
Опцијата --all-databases беше додадена во MySQL 3.23.12 и подоцна.
Овој метод може да се користи за спроведување на стратегија за резервна копија на базата на податоци.
Копирајте табели со податоци и бази на податоци на други хостови
Ако треба да копирате податоци на друг MySQL сервер, можете да ги наведете името и табелата на базата на податоци во командата mysqldump.
Извршете ја следнава команда на изворниот хост за да направите резервна копија од податоците во датотеката dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Ако направите резервна копија од базата на податоци во целост, не треба да користите одредено име на табела.
Ако треба да ја увезете резервната база на податоци во MySQL серверот, можете да ја користите следнава команда, користејќи ја следнава команда што треба да потврдите дека базата на податоци е креирана:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Горенаведената команда користи цевка за увоз на извезените податоци во наведениот далечински хост.
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Како да извезуваме датотеки со податоци од базата на податоци на Linux MySQL?Извези команда за изјава за csv" за да ти помогне.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-501.html
За да отклучите повеќе скриени трикови🔑, добредојдени сте да се придружите на нашиот Телеграм канал!
Споделете и лајкнете ако ви се допаѓа! Вашите споделувања и лајкови се наша постојана мотивација!