Le package Go SQL fournit des méthodes pour exécuter des instructions SQL. Il existe deux méthodes principales : DB.Exec() et DB.Query().
DB.Exec() est utilisé pour exécuter des instructions SQL qui ne renvoient aucune ligne, telles que Instruction INSERT, UPDATE et DELETE. DB.Query() est utilisé pour exécuter des instructions SQL qui renvoient des lignes, telles que des instructions SELECT.
Le livre que vous citez indique que "Si un nom de fonction inclut Query, c'est conçu pour poser une question à la base de données et renverra un ensemble de lignes, même si celui-ci est vide. Les instructions qui ne renvoient pas de lignes ne doivent pas utiliser les fonctions de requête qu'elles doivent utiliser ; Exec()."
C'est vrai, mais ce n'est pas toute l'histoire. DB.Exec() peut également être utilisé pour exécuter des instructions SQL qui renvoient des lignes. Cependant, DB.Exec() renverra le nombre de lignes affectées par l'instruction, tandis que DB.Query() renverra un objet *Rows qui peut être utilisé pour parcourir le lignes dans le jeu de résultats.
Alors, quand devez-vous utiliser DB.Exec() et quand devez-vous utiliser DB.Query()?
Utilisez DB.Exec() lorsque vous devez exécuter une instruction SQL qui ne renvoie aucune ligne et que vous souhaitez connaître le nombre de lignes affectées par l'instruction.
Utilisez DB.Query() lorsque vous devez exécuter une instruction SQL qui renvoie des lignes et que vous souhaitez parcourir les lignes du jeu de résultats.
Pourquoi utiliser des instructions préparées ?
Les instructions préparées peuvent améliorer les performances de vos requêtes SQL. Lorsque vous préparez une instruction, le serveur de base de données compile l'instruction et stocke l'instruction compilée en mémoire. Cela signifie que le serveur de base de données n'a pas besoin de recompiler l'instruction à chaque fois que vous l'exécutez.
Pour utiliser des instructions préparées, vous pouvez appeler la méthode DB.Prepare(). Cette méthode prend une instruction SQL comme argument et renvoie un objet *Stmt. Vous pouvez ensuite exécuter l'instruction préparée en appelant la méthode Stmt.Exec() ou Stmt.Query().
Le fait que vous deviez ou non utiliser des instructions préparées dépend des caractéristiques de performances de votre application. Si vous exécutez plusieurs fois la même instruction SQL, l'utilisation d'une instruction préparée peut améliorer les performances de votre application.
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!