Умеешь ли делать подготовленные SQL запросы
Python
Middle
Без компании
Умеешь ли делать подготовленные SQL запросы
Ответы
Да, умею. Подготовленные SQL-запросы (prepared statements) — это способ безопасного выполнения SQL-запросов с параметрами, который помогает предотвратить SQL-инъекции. В Python для этого обычно используют модули `sqlite3`, `psycopg2` (PostgreSQL) или `mysql-connector` (MySQL).
Пример с `sqlite3`:
```
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# Подготовленный запрос с параметрами
query = "INSERT INTO users (name, age) VALUES (?, ?)"
data = ("Alice", 30)
cursor.execute(query, data) # Безопасная вставка
conn.commit()
conn.close()
```
Для PostgreSQL (`psycopg2`):
```
import psycopg2
conn = psycopg2.connect("dbname=test user=postgres")
cursor = conn.cursor()
query = "INSERT INTO users (name, age) VALUES (%s, %s)"
data = ("Bob", 25)
cursor.execute(query, data) # Плейсхолдеры %s
conn.commit()
conn.close()
```
Использование подготовленных запросов — лучшая практика для безопасности и производительности (запрос компилируется один раз).