Linux MySQL мэдээллийн сангаас өгөгдлийн файлуудыг хэрхэн экспортлох вэ?csv мэдэгдлийн командыг экспортлох

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 командыг ашиглана.
  • СОНГОХ ... OUTFILE INTO 'file_name' маягтын SELECT нь сонгосон мөрүүдийг файлд бичиж болно.Файл нь серверийн хост дээр үүсгэгдсэн тул та энэ синтаксийг ашиглахын тулд FILE зөвшөөрөлтэй байх ёстой.
  • Гаралт нь одоо байгаа файл байж болохгүй.Файлын өгөгдлийг өөрчлөхөөс урьдчилан сэргийлэх.
  • Та файлуудыг сэргээхийн тулд серверт нэвтрэх бүртгэлтэй байх шаардлагатай юу?Үгүй бол SELECT ... INTO OUTFILE ямар ч нөлөө үзүүлэхгүй.
  • UNIX-д файл нь унших боломжтой байхаар бүтээгдсэн бөгөөд зөвшөөрлийг MySQL сервер эзэмшдэг.Энэ нь та файлыг уншиж болох ч устгах боломжгүй гэсэн үг юм.

Хүснэгтийг түүхий өгөгдөл болгон экспортлох

Энэ нь үндсэндээ мэдээллийн санг эхнээс нь дахин үүсгэхэд шаардлагатай CREATE TABLE INSERT гэх мэт командуудыг агуулсан SQL скриптийг гаргадаг.

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 文本
密码******

MySQL 3.23.12 болон түүнээс хойшхи хувилбаруудад --all-databases сонголтыг нэмсэн.

Энэ аргыг мэдээллийн санг нөөцлөх стратегийг хэрэгжүүлэхэд ашиглаж болно.


Өгөгдлийн хүснэгт болон мэдээллийн санг бусад хост руу хуулах

Хэрэв та өөр 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/ ) share "Linux MySQL мэдээллийн сангаас өгөгдлийн файлуудыг хэрхэн экспортлох вэ?Танд туслахын тулд csv мэдэгдлийн командыг экспортлох.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-501.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаягийг нийтлэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

TOP хүртэл гүйлгэж