Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjadualkan Pertanyaan MySQL untuk Dijalankan Secara Automatik pada Selang Set?
Menjadualkan Pertanyaan MySQL: Jawapan Komprehensif
Menjadualkan pertanyaan MySQL untuk dijalankan pada selang waktu tertentu boleh menjadi alat yang berharga untuk analisis dan pelaporan data . Pertimbangkan senario berikut di mana anda mempunyai pangkalan data inventori dan memerlukan data penilaian stok sejarah.
Menjadualkan Pertanyaan dengan Penjadual Acara
MySQL menyediakan ciri Penjadual Acara yang membolehkan anda untuk mengautomasikan tugas berdasarkan jadual. Untuk menjadualkan pertanyaan anda, mula-mula buat jadual stock_dumps dengan medan yang ditentukan:
CREATE TABLE stock_dumps (itemcode VARCHAR(255), quantity INT, avgcost DECIMAL(10,2), ttlval DECIMAL(10,2), dump_date DATETIME);
Seterusnya, buat acara Penjadual Acara menggunakan sintaks ini:
CREATE EVENT `Dumping_event` ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE ENABLE COMMENT '' DO BEGIN INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date) SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode; END;
Acara ini dijadualkan untuk dijalankan setiap hari, memasukkan data penilaian stok semasa ke dalam jadual stock_dumps.
Menjadualkan Pertanyaan dengan Cron Jobs
Sebagai alternatif, anda boleh menggunakan cron jobs (Linux) atau Windows Scheduled Tasks untuk mengautomasikan tugasan ini. Cipta fail SQL dengan pertanyaan berikut:
INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date) SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
Kemudian, jadualkan arahan berikut untuk dijalankan pada selang yang dikehendaki:
mysql -uusername -ppassword < /path/to/sql_file.sql
Pendekatan ini membolehkan anda menyesuaikan selang penjadualan dan melaksanakan pertanyaan menggunakan antara muka baris arahan.
Pilih kaedah yang paling sesuai dengan keperluan anda dan automatikkan pertanyaan MySQL anda untuk data yang cekap perolehan dan analisis.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjadualkan Pertanyaan MySQL untuk Dijalankan Secara Automatik pada Selang Set?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!