Middle
O que são declarações preparadas (prepared statements)?
sobes.tech IA
Resposta da IA
As consultas preparadas são um mecanismo para trabalhar com bases de dados, no qual a consulta SQL é compilada e otimizada uma única vez, podendo depois ser executada várias vezes com diferentes parâmetros.
Vantagens:
- Desempenho aumentado em chamadas repetidas à mesma consulta.
- Segurança — proteção contra injeções SQL, pois os parâmetros são passados separadamente do texto da consulta.
- Conveniência — os parâmetros são inseridos automaticamente, sem necessidade de escapar manualmente os valores.
Em Go, a consulta preparada é criada através do método Prepare do objeto *sql.DB ou *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)
Dessa forma, a consulta é compilada uma única vez, e depois pode ser chamada várias vezes com diferentes parâmetros.