2010-08-12 3 views
0

Есть ли пакеты python, которые помогают генерировать SQL-запросы из переменных и классов?Создание SQL-запросов в Python

Например, вместо того, чтобы писать запрос на создание вручную, разработчик создаст таблицу create (возможно, объект) с нужными столбцами в списке, например. Затем объект вернет строку, которая будет использоваться в качестве запроса. Было бы плюсом, если такой пакет может поддерживать многоязычный синтаксис (SQLite, Oracle, MySQL, ...)

+0

пользовательский ввод, такой как? .. пожалуйста, предоставьте некоторый контекст по запросу. – Fosco

ответ

2

Возможно, лучший пакет объектно-реляционных карт для Python сегодня является популярным SqlAlchemy.

1

Стандартный пакет python MySQLdb будет делать правильные вещи о цитировании переменных, если ему дается шанс. Если вас беспокоят атаки SQL-инъекций.

c.executemany(
     """INSERT INTO breakfast (name, spam, eggs, sausage, price) 
     VALUES (%s, %s, %s, %s, %s)""", 
     [ 
     ("Spam and Sausage Lover's Plate", 5, 1, 8, 7.95), 
     ("Not So Much Spam Plate", 3, 2, 0, 3.95), 
     ("Don't Wany ANY SPAM! Plate", 0, 4, 3, 5.95) 
     ]) 

В противном случае вы, вероятно, следует искать в любом количестве питона фреймворков - Django, и т.д. в абстрактном базе данных.