Latest web development tutorials

Data ekspor MySQL

MySQL Anda dapat menggunakan SELECT ... INTO laporan OUTFILE untuk mengekspor data ke file teks sederhana.


Gunakan SELECT ... INTO laporan OUTFILE data ekspor

Contoh-contoh berikut, kita akan mengekspor data ke tabel data w3big_tbl berkas /tmp/tutorials.txt:

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

Anda dapat mengatur format data output yang ditentukan oleh pilihan perintah, contoh-contoh berikut yang diekspor dalam format CSV:

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

Pada contoh berikut, file yang dihasilkan, nilai-nilai dipisahkan dengan koma. Format ini digunakan oleh beberapa program.

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

PILIH ... INTO OUTFILE memiliki properti berikut:

  • LOAD DATA INFILE SELECT ... INTO OUTFILE adalah operasi kebalikan, sintaks SELECT. Dalam rangka untuk menulis data ke database dalam file, menggunakan SELECT ... INTO OUTFILE, untuk membaca file kembali ke dalam database, penggunaan LOAD DATA INFILE.
  • SELECT ... INTO 'nama_file' OUTFILE bentuk garis SELECT dapat dipilih menulis file. File ini dibuat pada server host, sehingga Anda harus memiliki hak istimewa FILE untuk menggunakan sintaks ini.
  • output tidak file yang sudah ada. Berkas mencegah data dari yang dirusak.
  • Anda harus memiliki server account login untuk mengambil file. Jika tidak SELECT ... INTO OUTFILE tidak akan memainkan peran apa pun.
  • Dalam UNIX, setelah file dibuat adalah hak dibaca dimiliki oleh server MySQL. Ini berarti bahwa meskipun Anda dapat membaca file, tetapi tidak dapat dihapus.

Data ekspor sebagai tabel asli

mysqldump mysql digunakan untuk mengubah database utilitas disimpan. Ini terutama menghasilkan script SQL yang berisi perintah untuk menciptakan kembali database dari awal diperlukan CREATE TABLE INSERT dan sebagainya.

Gunakan mysqldump untuk mengekspor data membutuhkan pilihan --tab untuk menentukan direktori yang ditentukan dalam file ekspor, objek harus ditulis.

Contoh berikut akan mengekspor tabel data w3big_tbl ke direktori / tmp:

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp w3big w3big_tbl
password ******

Data ekspor dalam format SQL

Ekspor SQL data ke format file yang ditentukan, sebagai berikut:

$ mysqldump -u root -p w3big w3big_tbl > dump.txt
password ******

file konten yang dibuat oleh perintah di atas sebagai berikut:

-- MySQL dump 8.23
--
-- Host: localhost    Database: w3big
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `w3big_tbl`
--

CREATE TABLE w3big_tbl (
  w3big_id int(11) NOT NULL auto_increment,
  w3big_title varchar(100) NOT NULL default '',
  w3big_author varchar(40) NOT NULL default '',
  submission_date date default NULL,
  PRIMARY KEY  (w3big_id),
  UNIQUE KEY AUTHOR_INDEX (w3big_author)
) TYPE=MyISAM;

--
-- Dumping data for table `w3big_tbl`
--

INSERT INTO w3big_tbl 
       VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

Jika Anda perlu untuk mengekspor data untuk seluruh database, Anda dapat menggunakan perintah berikut:

$ mysqldump -u root -p w3big > database_dump.txt
password ******

Jika Anda harus membuat cadangan semua database, Anda dapat menggunakan perintah berikut:

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

--all-database pilihan yang ditambahkan di MySQL 3.23.12 atau lambat.

Metode ini dapat digunakan untuk menerapkan strategi backup database.


Lembar data dan salinan database ke host lain

Jika Anda perlu menyalin data ke server lain MySQL, Anda dapat menentukan nama database dan data tabel dalam perintah mysqldump.

Jalankan perintah berikut pada host sumber, back up data ke file dump.txt:

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

Jika backup penuh database, Anda tidak perlu menggunakan nama tabel tertentu.

Jika Anda harus membuat cadangan database ke server MySQL, Anda dapat menggunakan perintah berikut, gunakan perintah berikut Anda perlu memastikan database telah dibuat:

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

Perintah di atas digunakan dalam pipa untuk mengekspor data ke host remote yang ditentukan.