Middle
¿Qué son las declaraciones preparadas (prepared statements)?
sobes.tech AI
Respuesta de la IA
Las consultas preparadas son un mecanismo para trabajar con bases de datos, en el cual la consulta SQL se compila y optimiza una sola vez, y luego puede ejecutarse múltiples veces con diferentes parámetros.
Ventajas:
- Mayor rendimiento en llamadas repetidas a la misma consulta.
- Seguridad — protección contra inyecciones SQL, ya que los parámetros se pasan por separado del texto de la consulta.
- Comodidad — los parámetros se insertan automáticamente, sin necesidad de escapar manualmente los valores.
En Go, la consulta preparada se crea mediante el método Prepare del objeto *sql.DB o *sql.Tx:
stmt, err := db.Prepare("SELECT name FROM users WHERE id = ?")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
var name string
err = stmt.QueryRow(1).Scan(&name)
if err != nil {
log.Fatal(err)
}
fmt.Println(name)
De esta manera, la consulta se compila una sola vez, y luego se puede llamar múltiples veces con diferentes parámetros.