Умеешь ли делать подготовленные 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() ``` Использование подготовленных запросов — лучшая практика для безопасности и производительности (запрос компилируется один раз).