Comment concevoir une structure de table MySQL efficace pour implémenter la fonction de lecture audio ?
Lors du développement de la fonction de lecture audio, une conception efficace de la structure des tables MySQL est très importante. Une structure de table bien conçue peut garantir l'efficacité du stockage des données et la rapidité de la récupération des données. Cet article expliquera comment concevoir une structure de table MySQL efficace pour implémenter la fonction de lecture audio et donnera des exemples de code spécifiques.
Tout d'abord, nous devons créer une table pour stocker les informations audio, qui est utilisée pour stocker les informations audio de base, telles que l'ID audio, le nom audio, le chemin audio, la durée, etc. La table peut être créée à l'aide de l'instruction suivante :
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 );
Ensuite, nous devons créer une table qui stocke les enregistrements de lecture audio pour enregistrer le comportement de lecture audio de l'utilisateur, tel que l'ID utilisateur, l'ID audio, la durée de lecture, etc. Le tableau peut être créé à l'aide de l'instruction suivante :
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`) );
Dans la fonction de lecture audio, nous devons stocker les informations audio et les enregistrements de lecture de l'utilisateur dans la base de données. Vous pouvez utiliser l'instruction suivante pour insérer des exemples de données dans le tableau :
-- 插入音频信息 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);
Dans la fonction de lecture audio, nous devons interroger son enregistrement de lecture et sa durée de lecture en fonction de l'ID utilisateur. Vous pouvez utiliser l'instruction suivante pour interroger l'enregistrement de lecture d'un certain utilisateur :
SELECT `audio`.`name`, `played_duration` FROM `playback_record` INNER JOIN `audio` ON `playback_record`.`audio_id` = `audio`.`id` WHERE `user_id` = 1;
L'instruction ci-dessus renverra l'enregistrement de lecture et la durée de lecture de l'ID utilisateur 1.
Dans la fonction de lecture audio, nous devons mettre à jour l'enregistrement de lecture et la durée de lecture de l'utilisateur. Vous pouvez utiliser l'instruction suivante pour mettre à jour l'enregistrement de lecture d'un utilisateur :
UPDATE `playback_record` SET `played_duration` = 120 WHERE `user_id` = 1 AND `audio_id` = 1;
L'instruction ci-dessus mettra à jour la durée de lecture de l'enregistrement de lecture avec l'ID utilisateur 1 et l'ID audio 1 à 120 secondes.
Résumé :
Concevez une structure de table MySQL efficace pour implémenter la fonction de lecture audio, ce qui peut améliorer l'efficacité du stockage et de la récupération des données. Lors de la conception de la structure du tableau, vous devez prendre en compte la relation entre les informations audio et les enregistrements de lecture, et utiliser des clés étrangères pour établir l'association. En insérant et en interrogeant des données, nous pouvons ajouter, supprimer, modifier et interroger des informations audio et des enregistrements de lecture. Ce qui précède est un exemple de conception de structure de table de base. La conception peut être optimisée davantage en fonction des besoins spécifiques de l'entreprise.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!