Bagaimana untuk mengeksport fail data dari pangkalan data Linux MySQL?eksport perintah pernyataan csv

Linux pangkalan data MySQLBagaimana untuk mengeksport fail data?eksport perintah pernyataan csv

MySQLeksport data data

Dalam MySQL anda boleh gunakanPILIH … KE DALAM FAIL KELUARpernyataan untuk mengeksport data ke fail teks sahaja.


Eksport data menggunakan pernyataan SELECT ... INTO OUTFILE

Dalam contoh berikut kami akan mengeksport jadual data ke fail /tmp/tutorials.txt:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Anda boleh menetapkan format output data yang ditentukan melalui pilihan arahan. Contoh berikut adalah untuk mengeksport format CSV:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

Dalam contoh berikut, fail dijana dengan nilai yang dipisahkan dengan koma.Format ini boleh digunakan oleh banyak program.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

Pernyataan SELECT ... INTO OUTFILE mempunyai atribut berikut:

  • LOAD DATA INFILE ialah operasi songsang bagi SELECT ... INTO OUTFILE, SELECT sintaks.Untuk menulis data daripada pangkalan data ke fail, gunakan SELECT ... INTO OUTFILE, dan untuk membaca fail kembali ke dalam pangkalan data, gunakan LOAD DATA INFILE.
  • PILIH ... KE OUTFILE PILIHAN bentuk 'file_name' boleh menulis baris yang dipilih pada fail.Fail dibuat pada hos pelayan, jadi anda mesti mempunyai kebenaran FILE untuk menggunakan sintaks ini.
  • Output tidak boleh menjadi fail sedia ada.Elakkan data fail daripada diusik.
  • Adakah anda perlu mempunyai akaun untuk log masuk ke pelayan untuk mendapatkan semula fail.Jika tidak PILIH ... KE OUTFILE tidak akan memberi kesan.
  • Dalam UNIX, fail dicipta untuk boleh dibaca, dan kebenaran dimiliki oleh pelayan MySQL.Ini bermakna walaupun anda boleh membaca fail, anda mungkin tidak dapat memadamkannya.

Eksport jadual sebagai data mentah

Ia terutamanya menghasilkan skrip SQL yang mengandungi arahan CREATE TABLE INSERT dsb. yang diperlukan untuk mencipta semula pangkalan data dari awal.

Untuk mengeksport data menggunakan mysqldump, anda perlu menggunakan pilihan –tab untuk menentukan direktori yang ditentukan oleh fail eksport, dan sasaran mestilah boleh ditulis.

Contoh berikut mengeksport jadual data chenweiliang_tbl ke direktori /tmp:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

Eksport data dalam format SQL

Eksport data dalam format SQL ke fail yang ditentukan, seperti berikut:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

Kandungan fail yang dibuat oleh arahan di atas adalah seperti berikut:

- 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' );

Jika anda perlu mengeksport data keseluruhan pangkalan data, anda boleh menggunakan arahan berikut:

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

Jika anda perlu membuat sandaran semua pangkalan data, anda boleh menggunakan arahan berikut:

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

Pilihan --all-databases telah ditambahkan dalam MySQL 3.23.12 dan lebih baru.

Kaedah ini boleh digunakan untuk melaksanakan strategi sandaran pangkalan data.


Salin jadual data dan pangkalan data ke hos lain

Jika anda perlu menyalin data ke pelayan MySQL yang lain, anda boleh menentukan nama pangkalan data dan jadual dalam arahan mysqldump.

Jalankan arahan berikut pada hos sumber untuk menyandarkan data ke fail dump.txt:

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

Jika anda membuat sandaran pangkalan data sepenuhnya, anda tidak perlu menggunakan nama jadual tertentu.

Jika anda perlu mengimport pangkalan data sandaran ke pelayan MySQL, anda boleh menggunakan arahan berikut, menggunakan arahan berikut yang anda perlukan untuk mengesahkan bahawa pangkalan data telah dibuat:

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

Perintah di atas menggunakan paip untuk mengimport data yang dieksport ke hos jauh yang ditentukan.

发表 评论

Alamat e-mel anda tidak akan diterbitkan. 必填 项 已 用 * 标注

Tatal ke