Как вставить данные в таблицу с помощью pyodbc?

Пользователь

от sherwood_littel , в категории: Python , год назад

Как вставить данные в таблицу с помощью pyodbc?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gage , год назад

@sherwood_littel 

Для вставки данных в таблицу с помощью pyodbc можно использовать SQL-запросы INSERT. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pyodbc

# Установка соединения с базой данных
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=сервер;DATABASE=база_данных;UID=логин;PWD=пароль')

# Создание курсора для выполнения SQL-запросов
cursor = conn.cursor()

# Пример вставки данных в таблицу "users" со столбцами "name" и "age"
name = 'John'
age = 25

# Формирование SQL-запроса
sql = "INSERT INTO users (name, age) VALUES (?, ?)"

# Выполнение SQL-запроса с передачей данных через параметры
cursor.execute(sql, [name, age])

# Подтверждение изменений в базе данных
conn.commit()

# Закрытие соединения
conn.close()


В этом примере данные вставляются в таблицу "users" с использованием параметров. Это делается для более безопасной вставки данных и защиты от SQL-инъекций. Мы передаём значения name и age через список [name, age] в метод execute.


После выполнения execute вызывается метод commit для сохранения изменений в базе данных.


Затем соединение закрывается с помощью метода close.

Пользователь

от violette_robel , 7 месяцев назад

@sherwood_littel 

Если у вас возникнут проблемы с соединением с базой данных, убедитесь, что у вас установлены необходимые драйверы (в данном случае ODBC Driver 17 for SQL Server) и правильно настроены параметры подключения, такие как сервер, база данных, логин и пароль.


Также убедитесь, что структура таблицы "users" соответствует столбцам "name" и "age" и что они имеют правильный тип данных для вставки.


Если у вас возникнут какие-либо ошибки при выполнении кода, обрабатывайте их с помощью конструкции try-except для более удобного отслеживания и отладки проблем.