Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan perintah LOAD DATA INFILE dalam prosedur tersimpan

Tidak, itu tidak mungkin karena alasan keamanan, saya kira. Namun, Anda dapat membuat kueri "LOAD DATA" untuk tabel dalam database menggunakan trik ini (mengembalikan serangkaian kueri untuk setiap tabel:potong tabel sebelum memuat data, lalu nonaktifkan kunci, lalu muat data, lalu aktifkan kunci):

SELECT CONCAT('TRUNCATE TABLE ',table_name,'; ALTER TABLE ',table_name,' DISABLE KEYS;    LOAD DATA INFILE "',table_name,'.txt" INTO TABLE ',table_name,' FIELDS TERMINATED BY "\\t" LINES TERMINATED BY "\\n"; ALTER TABLE ',table_name,' ENABLE KEYS; ')
FROM information_schema.`TABLES` as infs
WHERE infs.`TABLE_SCHEMA`=DATABASE()
AND infs.`TABLE_TYPE`!='VIEW';

Setelah Anda menjalankan kueri ini, baris yang dihasilkan adalah kueri untuk mentransfer data. Saya menggunakannya saat memindahkan konten basis data lengkap ke yang lain. Tentu saja, dalam kueri itu Anda dapat memfilter tabel yang Anda butuhkan menggunakan lebih banyak kondisi. Semoga membantu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan riwayat obrolan Skype dari main.db yang disinkronkan ke MySQL dengan PHP

  2. MySQL ke dalam format outfile

  3. Mengurutkan hasil kueri mysql

  4. SQL:Jumlah grup di baris hasil individual

  5. MySQL - Pilih dengan COUNT mengembalikan baris NULL