Как подключить sql к python

Аватар пользователя Maksim Litvinov
Maksim Litvinov
20 ноября 2024

В зависимости от используемой СУБД есть различные библиотеки и подходы.

Для подключения к различным СУБД могут потребоваться разные библиотеки. Вот некоторые из самых популярных:

  • SQLite (встроенная в Python): не требует установки дополнительных пакетов.
  • MySQL: используйте библиотеку mysql-connector-python
  • PostgreSQL: используйте библиотеку psycopg2

Для примера возьмем процесс работы с PostgreSQL при помощи библиотеки psycopg2

import psycopg2

# Создаем соединение с базой
# hexlet_test - Имя базы данных
try:
    conn = psycopg2.connect('postgresql://user:password@host:port/hexlet_test')
except:
    print('Can`t establish connection to database')

sql = "CREATE TABLE users (id BIGINT SERIAL, username VARCHAR(255), phone VARCHAR(255))"
# Запрос выполняется через создание объекта курсора
cursor = conn.cursor()
cursor.execute(sql)
cursor.close() # в конце закрывается

sql2 = "INSERT INTO users (username, phone) VALUES ('tommy', '123456789');"
cursor = conn.cursor()
cursor.execute(sql2)
cursor.close()

sql3 = "SELECT * FROM users;"
cursor = conn.cursor()
# Указатель на набор данных в памяти СУБД
cursor.execute(sql3)
for row in cursor:
    print(row)
cursor.close()

conn.commit() # Коммитим, т.е. сохраняем изменения в БД
conn.close() # Соединение нужно закрыть

При работе с базами данных важно обрабатывать возможные ошибки. Вы можете использовать конструкцию try...except, чтобы управлять исключениями:

Если вы не хотите писать сырые SQL-запросы, вы можете рассмотреть использование ORM, например Django ORM. Они позволяют работать с базой данных через объекты Python и избегать ручного написания SQL-кода

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Тест-драйв

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Базы данных

Фреймворки

Похожие вопросы