Mysql ialah sistem pengurusan pangkalan data perhubungan yang sesuai untuk pelbagai jenis pengumpulan data, daripada aplikasi peribadi ringkas kepada gudang data peringkat perusahaan berskala besar dan tapak web komersial. Dalam Mysql, cap masa (Timestamp) ialah jenis data yang sangat biasa dan digunakan secara meluas dalam storan dan pertanyaan cap masa.
Walau bagaimanapun, dalam aplikasi sebenar, kita kadangkala menghadapi situasi di mana kita perlu mengubah suai cap masa dalam pangkalan data, contohnya, kita perlu mengubah suai cap masa rekod kepada cap masa semasa atau cap masa yang ditentukan. Jadi bagaimana untuk mengubah suai cap waktu dalam Mysql? Artikel ini akan memperkenalkan secara terperinci aspek berikut:
1 Pengenalan kepada cap waktu Mysql
Dalam Mysql, cap waktu ialah jenis data yang mewakili masa tertentu apabila sesuatu peristiwa berlaku . Ia sering digunakan untuk merekodkan masa penciptaan dan masa mengemas kini data, serta operasi berkaitan masa yang lain.
Cap masa dalam Mysql datang dalam dua format berbeza: Cap masa Unix dan cap masa Mysql.
Cap masa Unix merujuk kepada bilangan saat yang telah berlalu dari 0:00:00 pada 1 Januari 1970 hingga masa semasa. Format cap masa ini dipanggil Unix Timestamp dalam Mysql. Ia boleh menggunakan fungsi UNIX_TIMESTAMP() terbina dalam Mysql untuk menukar data masa jenis datetime kepada cap waktu Unix, contohnya:
SELECT UNIX_TIMESTAMP(NOW()); //Dapatkan cap waktu Unix semasa
Cap masa Mysql ialah cap masa yang diwakili dalam format YYYY-MM-DD HH:MI:SS. Ia boleh menggunakan fungsi NOW() terbina dalam Mysql untuk mendapatkan cap masa semasa, contohnya:
SELECT NOW(); //Dapatkan cap masa Mysql semasa
Selain itu, Mysql juga menyediakan FROM_UNIXTIME() Fungsi boleh menukar cap waktu Unix kepada cap waktu Mysql, contohnya:
PILIH FROM_UNIXTIME(1602590500); //Tukar cap waktu Unix 1602590500 kepada cap waktu Mysql
Kadangkala, kita perlu menukar cap masa rekod dalam pangkalan data kepada cap masa semasa. Dalam Mysql, anda boleh menggunakan fungsi NOW() untuk mendapatkan cap masa semasa, dan kemudian gunakan pernyataan UPDATE untuk mengemas kini medan cap masa rekod yang sepadan dengan cap masa semasa, contohnya: UPDATE table_name SET timestamp_field = NOW() WHERE id = 1;Antaranya, table_name ialah nama jadual, timestamp_field ialah nama medan cap masa dan id ialah nilai kunci utama rekod sasaran. Jika anda perlu mengemas kini kumpulan cap masa berbilang rekod ke cap masa semasa, anda boleh menggunakan pernyataan KEMASKINI yang digabungkan dengan penyataan bersyarat, contohnya: KEMASKINI table_name SET timestamp_field = NOW() WHERE condition; Antaranya, syarat ialah pernyataan bersyarat untuk menapis rekod yang perlu dikemas kini. Contohnya, jika anda perlu mengemas kini medan cap masa semua rekod dengan status 1, anda boleh menggunakan pernyataan berikut: KEMASKINI table_name SET timestamp_field = NOW() WHERE status = 1; 3. Cap masa pengubahsuaian kepada cap masa yang ditentukan Selain menukar cap masa kepada cap masa semasa, kadangkala ia juga perlu untuk menukar cap masa rekod kepada cap masa yang ditentukan. Dalam Mysql, anda boleh menggunakan fungsi DATE_FORMAT() untuk menukar rentetan masa yang ditentukan kepada cap waktu Mysql, contohnya: SELECT DATE_FORMAT('2020-10-13 18:03:00', '%Y - %m-%d %H:%i:%s'); //Tukar rentetan masa kepada cap waktu MysqlKemudian, anda boleh menggunakan pernyataan KEMASKINI untuk mengemas kini medan cap masa rekod yang sepadan kepada Cap Masa yang ditentukan, contohnya: KEMASKINI table_name SET timestamp_field = '2020-10-13 18:03:00' WHERE id = 1;di mana, '2020-10-13 18:03 :00' ialah rentetan cap masa yang ditentukan, nama_jadual ialah nama jadual, medan_cap masa ialah nama medan cap masa dan id ialah nilai kunci utama rekod sasaran. Jika anda perlu mengemas kini secara berkelompok cap masa berbilang rekod kepada cap masa yang ditentukan, anda juga boleh menggunakan pernyataan KEMASKINI yang digabungkan dengan pernyataan bersyarat, contohnya: KEMASKINI table_name SET timestamp_field = '2020 -10- 13 18:03:00' WHERE condition;di mana syarat ialah pernyataan bersyarat untuk menapis rekod yang perlu dikemas kini. Contohnya, jika anda perlu mengemas kini medan cap masa semua rekod dengan status 1 hingga 13-10-2020 18:03:00, anda boleh menggunakan pernyataan berikut: KEMASKINI table_name SET timestamp_field = '2020- 10-13 18 :03:00' WHERE status = 1;4. RingkasanCap masa dalam Mysql ialah jenis data biasa dan digunakan secara meluas dalam storan cap waktu, pertanyaan dan pengiraan. Dalam aplikasi praktikal, kadangkala perlu mengubah suai cap masa dalam pangkalan data, seperti menukar cap masa kepada cap masa semasa atau cap masa yang ditentukan. Anda boleh menggunakan fungsi dan operasi Mysql yang sepadan untuk mengubah suai cap waktu, seperti fungsi NOW() untuk mendapatkan cap masa semasa, fungsi DATE_FORMAT() untuk menukar rentetan kepada cap waktu Mysql dan pernyataan UPDATE untuk mengemas kini medan cap waktu . Menguasai operasi ini boleh menggunakan Mysql dengan lebih baik untuk mengurus data cap waktu.Atas ialah kandungan terperinci pengubahsuaian masa mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!