Cyfeiriadur Erthygl
Linux Cronfa ddata MySQLSut i allforio ffeiliau data?gorchymyn datganiad csv allforio
MySQLallforio data data
Yn MySQL gallwch ddefnyddioDEWIS … YN ALLFFEILdatganiad i allforio data i ffeil testun yn unig.
Allforio data gan ddefnyddio'r datganiad SELECT ... INTO OUTFILE
Yn yr enghraifft ganlynol byddwn yn allforio'r tabl data i'r ffeil /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Gallwch chi osod y fformat allbwn data penodedig trwy opsiynau gorchymyn. Mae'r enghraifft ganlynol ar gyfer allforio fformat CSV:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Yn yr enghraifft ganlynol, cynhyrchir ffeil gyda gwerthoedd wedi'u gwahanu gan atalnodau.Gall y fformat hwn gael ei ddefnyddio gan lawer o raglenni.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
Mae gan y datganiad SELECT ... INTO OUTFILE y nodweddion canlynol:
- LLWYTH DATA INFILE yw gweithrediad gwrthdro SELECT ... INTO OUTFILE, SELECT cystrawen.I ysgrifennu data o gronfa ddata i ffeil, defnyddiwch SELECT ... INTO OUTFILE, ac i ddarllen y ffeil yn ôl i'r gronfa ddata, defnyddiwch LOAD DATA INFFILE.
- DEWIS ... I MEWN I ALLANOL Gall DETHOLIAD o'r ffurflen 'file_name' ysgrifennu'r llinellau a ddewiswyd i ffeil.Mae'r ffeil yn cael ei chreu ar y gwesteiwr gweinydd, felly mae'n rhaid i chi gael caniatâd FILE i ddefnyddio'r gystrawen hon.
- Ni all yr allbwn fod yn ffeil sy'n bodoli eisoes.Atal data ffeil rhag cael ei ymyrryd ag ef.
- Oes angen i chi gael cyfrif i fewngofnodi i'r gweinydd i adfer ffeiliau.Fel arall SELECT ... INTO ALLFILE ni fydd yn cael unrhyw effaith.
- Yn UNIX, mae'r ffeil yn cael ei chreu i fod yn ddarllenadwy, ac mae'r caniatâd yn eiddo i'r gweinydd MySQL.Mae hyn yn golygu, er y gallwch ddarllen y ffeil, efallai na fyddwch yn gallu ei dileu.
Tabl allforio fel data crai
Mae'n cynhyrchu sgript SQL yn bennaf sy'n cynnwys y gorchmynion CREU TABL INSERT ac ati sydd eu hangen i ail-greu'r gronfa ddata o'r dechrau.
I allforio data gan ddefnyddio mysqldump, mae angen i chi ddefnyddio'r opsiwn -tab i nodi'r cyfeiriadur a nodir gan y ffeil allforio, a rhaid i'r targed fod yn ysgrifenadwy.
Mae'r enghraifft ganlynol yn allforio'r tabl data chenweiliang_tbl i'r cyfeiriadur / tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Allforio data mewn fformat SQL
Allforio data mewn fformat SQL i'r ffeil benodedig, fel a ganlyn:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Mae cynnwys y ffeil a grëwyd gan y gorchymyn uchod fel a ganlyn:
- 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' );
Os oes angen i chi allforio data'r gronfa ddata gyfan, gallwch ddefnyddio'r gorchymyn canlynol:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Os oes angen i chi wneud copi wrth gefn o bob cronfa ddata, gallwch ddefnyddio'r gorchymyn canlynol:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
Ychwanegwyd yr opsiwn --all-databases yn MySQL 3.23.12 ac yn ddiweddarach.
Gellir defnyddio'r dull hwn i weithredu strategaeth wrth gefn cronfa ddata.
Copïo tablau data a chronfeydd data i westeion eraill
Os oes angen i chi gopïo data i weinydd MySQL arall, gallwch chi nodi enw a thabl y gronfa ddata yn y gorchymyn mysqldump.
Gweithredwch y gorchymyn canlynol ar y gwesteiwr ffynhonnell i wneud copi wrth gefn o'r data i'r ffeil dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Os byddwch yn gwneud copi wrth gefn o'r gronfa ddata yn llawn, nid oes angen i chi ddefnyddio enw tabl penodol.
Os oes angen i chi fewnforio'r gronfa ddata wrth gefn i'r gweinydd MySQL, gallwch ddefnyddio'r gorchymyn canlynol, gan ddefnyddio'r gorchymyn canlynol mae angen i chi gadarnhau bod y gronfa ddata wedi'i chreu:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Mae'r gorchymyn uchod yn defnyddio pibell i fewnforio'r data a allforiwyd i'r gwesteiwr anghysbell penodedig.
Blog Chen Weiliang Gobeithio ( https://www.chenweiliang.com/ ) shared "Sut i allforio ffeiliau data o gronfa ddata MySQL Linux?Allforio gorchymyn datganiad csv" i'ch helpu.
Croeso i chi rannu dolen yr erthygl hon:https://www.chenweiliang.com/cwl-501.html
I ddatgloi mwy o driciau cudd🔑, croeso i ymuno â'n sianel Telegram!
Rhannwch a hoffwch os ydych chi'n ei hoffi! Eich cyfrannau a'ch hoff bethau yw ein cymhelliant parhaus!