Ինչպե՞ս արտահանել տվյալների ֆայլեր Linux MySQL տվյալների բազայից:արտահանել csv հայտարարության հրաման

Ինչպե՞ս արտահանել տվյալների ֆայլեր Linux MySQL տվյալների բազայից : Որո՞նք են CSV ձևաչափով արտահանելու հրամանները:

MySQLտվյալների արտահանում

MySQL-ում դուք կարող եք օգտագործել SELECT … INTO 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 syntax-ի հակադարձ գործողությունն է:Տվյալների տվյալների բազայից ֆայլ գրելու համար օգտագործեք SELECT ... INTO OUTFILE, իսկ ֆայլը տվյալների բազա նորից կարդալու համար օգտագործեք LOAD DATA INFILE:
  • SELECT ... INTO OUTFILE «file_name» ձևի SELECT-ը կարող է ընտրված տողերը գրել ֆայլում:Ֆայլը ստեղծվել է սերվերի հոսթում, այնպես որ դուք պետք է ունենաք 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

Վերոնշյալ հրամանն օգտագործում է խողովակ՝ արտահանված տվյալները նշված հեռավոր հոսթին ներմուծելու համար:

Հուսով ենք, որ Չեն Վեյլիանգի բլոգում ( https://www.chenweiliang.com/ ) տեղադրված «Ինչպե՞ս արտահանել տվյալների ֆայլեր Linux MySQL տվյալների բազայից։ Արտահանել CSV հրամանային տող» հոդվածը օգտակար կլինի ձեզ համար։

Ազատորեն կիսվեք այս հոդվածի հղումով՝ https://www.chenweiliang.com/cwl-501.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Ոլորել դեպի սկիզբ