Каталог артыкулаў
Linux База дадзеных MySQLЯк экспартаваць файлы дадзеных?каманда экспарту csv
MySQLэкспарт дадзеных дадзеных
У MySQL вы можаце выкарыстоўвацьВЫБРАЦЬ … У OUTFILEпроста экспартаваць дадзеныя ў тэкставы файл.
Экспарт дадзеных з дапамогай аператара 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 SELECT формы '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
