Anyè Atik
Linux baz done MySQLKi jan yo ekspòte dosye done yo?ekspòte lòd deklarasyon csv
Miskldone done ekspòtasyon
Nan MySQL ou ka itilizeCHWAZI … NAN DOSYEdeklarasyon pou tou senpleman ekspòte done nan yon dosye tèks.
Ekspòte done lè l sèvi avèk deklarasyon SELECT ... INTO OUTFILE
Nan egzanp sa a nou pral ekspòte tab done a nan fichye /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Ou ka mete fòma espesifye nan pwodiksyon done atravè opsyon lòd. Egzanp sa a se pou ekspòte fòma CSV:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Nan egzanp sa a, se yon dosye ki te pwodwi ak valè separe pa vigil.Fòma sa a ka itilize pa anpil pwogram.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
Deklarasyon SELECT ... INTO OUTFILE gen atribi sa yo:
- LOAD DATA INFILE se operasyon envès SELECT ... INTO OUTFILE, SELECT sentaks.Pou ekri done ki sòti nan yon baz done nan yon fichye, sèvi ak SELECT ... INTO OUTFILE, epi pou li dosye a tounen nan baz done a, itilize LOAD DATA INFILE.
- SELECT ... NAN OUTFILE YON SELECT nan fòm 'file_name' ka ekri liy yo chwazi nan yon dosye.Fichye a kreye sou lame sèvè a, kidonk ou dwe gen pèmisyon FILE pou itilize sentaks sa a.
- Pwodiksyon an pa kapab yon dosye ki egziste deja.Anpeche done dosye yo pa manyen.
- Ou bezwen gen yon kont pou konekte sou sèvè a pou rekipere fichye yo.Sinon SELECT ... INTO OUTFILE p ap gen okenn efè.
- Nan UNIX, yo kreye dosye a pou li ka li, epi sèvè MySQL posede otorizasyon yo.Sa vle di ke pandan ke ou ka li dosye a, ou ka pa kapab efase li.
Ekspòte tab kòm done anvan tout koreksyon
Li sitou pwodui yon script SQL ki gen kòmandman CREATE TABLE INSERT elatriye ki nesesè pou rkree baz done a nan grafouyen.
Pou ekspòte done lè l sèvi avèk mysqldump, ou bezwen sèvi ak opsyon -tab pou presize anyè ki espesifye nan fichye ekspòtasyon an, epi sib la dwe ekri.
Egzanp sa a ekspòte tab done chenweiliang_tbl nan anyè /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Ekspòte done nan fòma SQL
Ekspòte done nan fòma SQL nan dosye a espesifye, jan sa a:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Kontni dosye ki te kreye pa kòmandman ki anwo a se jan sa a:
- 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' );
Si ou bezwen ekspòte done yo nan baz done a tout antye, ou ka itilize lòd sa a:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Si ou bezwen fè backup tout baz done, ou ka itilize lòd sa a:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
Opsyon --all-databases te ajoute nan MySQL 3.23.12 ak pita.
Metòd sa a ka itilize pou aplike yon estrateji backup baz done.
Kopi tab done ak baz done nan lòt lame
Si ou bezwen kopye done sou yon lòt sèvè MySQL, ou ka presize non baz done a ak tab nan lòd mysqldump la.
Egzekite lòd sa a sou lame sous la pou fè bak done yo nan fichye dump.txt la:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Si ou fè bak baz done a konplè, ou pa bezwen sèvi ak yon non tab espesifik.
Si ou bezwen enpòte baz done backup la nan sèvè MySQL la, ou ka itilize kòmandman sa a, lè l sèvi avèk kòmandman sa a ou bezwen konfime ke baz done a te kreye:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Kòmandman ki anwo a sèvi ak yon tiyo pou enpòte done yo ekspòte nan lame a aleka espesifye.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) pataje "Ki jan yo ekspòte dosye done soti nan baz done Linux MySQL?Ekspòte kòmandman deklarasyon csv" pou ede w.
Byenvini pataje lyen atik sa a:https://www.chenweiliang.com/cwl-501.html
