Выполнить SQL из Python
Создание экземпляра Cursor и использование метода execute класса Cursor для выполнения любого оператора SQL.
cursor = cnxn.cursor()
Выберите
Вы можете использовать fetchall
, fetchone
и fetchmany
для извлечения строк, возвращаемых из операторов SELECT:
import pyodbc
cursor = cnxn.cursor()
cnxn = pyodbc.connect('DSN=myDSN;UID=***;PWD=***')
cursor.execute("SELECT Col1, Col2 FROM MyTable WHERE Col1= 'SomeValue'")
rows = cursor.fetchall()
for row in rows:
print(row.Col1, row.Col2 )
Вы можете предоставить параметризованные запросы в последовательности или в списке аргументов:
cursor.execute("SELECT Col1, Col2, Col3, ... FROM MyTable WHERE Col1 = ?", 'SomeValue',1)
Вставить
В командах INSERT также используется метод execute
; однако впоследствии вы должны вызвать метод commit
после вставки, иначе вы потеряете свои изменения:
cursor.execute("INSERT INTO MyTable (Col1) VALUES ('SomeValue')")
cnxn.commit()
Обновление и удаление
Как и при вставке, вы также должны позвонить commit
после вызова execute
для обновления или удаления:
cursor.execute("UPDATE MyTable SET Col1= 'SomeValue'")
cnxn.commit()
Метаданные Discovery
Вы можете использовать метод getinfo
для получения таких данных, как информация об источнике данных и возможностях драйвера. Метод getinfo
проходит через ввод в метод ODBC SQLGetInfo
.
cnxn.getinfo(pyodbc.SQL_DATA_SOURCE_NAME)