Существует несколько способов перечисления параметров в SQL-запросах, которые помогают предотвратить SQL-инъекции и улучшить читаемость:
Позиционные параметры: Параметры определяются знаком-заполнителем (часто ? или $N) и передаются в функцию выполнения запроса в определенном порядке.
sql
При выполнении: параметры передаются в массив или список в том же порядке, что и вопросительные знаки.
Именованные параметры: Параметры определяются префиксом (часто : или @) за которым следует имя параметра.
sql
При выполнении: параметры передаются в виде словаря или карты, где ключ — имя параметра, а значение — его значение.
Составные параметры (некоторые СУБД и ORM): Позволяют передавать структуры данных или объекты в качестве одного параметра. Это менее универсально и зависимо от конкретной реализации. Например, в PostgreSQL можно использовать JSON.
sql
При выполнении: передается JSON-строка или объект, который СУБД может разобрать.
Выбор способа зависит от используемой СУБД, драйвера/ORM и личных предпочтений. Наиболее распространены позиционные и именованные параметры. Использование параметризованных запросов является стандартной практикой для безопасной работы с базами данных.