Rumah > Artikel > pangkalan data > Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi main balik audio?
Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi main balik audio?
Apabila membangunkan fungsi main balik audio, reka bentuk struktur jadual MySQL yang cekap adalah sangat penting. Struktur jadual yang direka dengan baik boleh memastikan kecekapan penyimpanan data dan kelajuan perolehan semula data. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi main balik audio, dan memberikan contoh kod khusus.
Pertama, kita perlu mencipta jadual untuk menyimpan maklumat audio, yang digunakan untuk menyimpan maklumat audio asas, seperti ID audio, nama audio, laluan audio, tempoh, dsb. Jadual boleh dibuat menggunakan pernyataan berikut:
CREATE TABLE audio ( `id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `path` VARCHAR(255) NOT NULL, `duration` INT NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Seterusnya, kita perlu mencipta jadual yang menyimpan rekod main balik audio untuk merakam gelagat main balik audio pengguna, seperti ID pengguna, ID audio, tempoh main balik, dsb. Jadual boleh dibuat menggunakan pernyataan berikut:
CREATE TABLE playback_record ( `id` INT PRIMARY KEY AUTO_INCREMENT, `user_id` INT NOT NULL, `audio_id` INT NOT NULL, `played_duration` INT NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (`user_id`) REFERENCES `user`(`id`), FOREIGN KEY (`audio_id`) REFERENCES `audio`(`id`) );
Dalam fungsi main balik audio, kita perlu menyimpan maklumat audio dan rekod main balik pengguna ke dalam pangkalan data. Anda boleh menggunakan pernyataan berikut untuk memasukkan data sampel ke dalam jadual:
-- 插入音频信息 INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频1', '/path/audio1.mp3', 120); INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频2', '/path/audio2.mp3', 180); INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频3', '/path/audio3.mp3', 240); -- 插入播放记录 INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (1, 1, 60); INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (1, 2, 90); INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (2, 1, 30);
Dalam fungsi main balik audio, kita perlu menanyakan rekod main semula dan tempoh main semula berdasarkan ID pengguna. Anda boleh menggunakan pernyataan berikut untuk menanyakan rekod main balik pengguna tertentu:
SELECT `audio`.`name`, `played_duration` FROM `playback_record` INNER JOIN `audio` ON `playback_record`.`audio_id` = `audio`.`id` WHERE `user_id` = 1;
Pernyataan di atas akan mengembalikan rekod main balik dan tempoh main balik ID pengguna 1.
Dalam fungsi main balik audio, kita perlu mengemas kini rekod main balik pengguna dan tempoh main balik. Anda boleh menggunakan pernyataan berikut untuk mengemas kini rekod main balik pengguna:
UPDATE `playback_record` SET `played_duration` = 120 WHERE `user_id` = 1 AND `audio_id` = 1;
Pernyataan di atas akan mengemas kini tempoh main balik rekod main balik dengan ID pengguna 1 dan ID audio 1 hingga 120 saat.
Ringkasan:
Reka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi main balik audio, yang boleh meningkatkan kecekapan penyimpanan dan pengambilan data. Apabila mereka bentuk struktur jadual, anda perlu mempertimbangkan hubungan antara maklumat audio dan rekod main semula, dan menggunakan kekunci asing untuk mewujudkan perkaitan. Dengan memasukkan dan menanyakan data, kami boleh menambah, memadam, mengubah suai dan menanyakan maklumat audio dan rekod main balik. Di atas adalah contoh reka bentuk struktur jadual asas Reka bentuk boleh dioptimumkan lagi mengikut keperluan perniagaan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi main balik audio?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!