SQLite

Как получить доступ к SQLite из Python

Как получить доступ к SQLite из Python
Python - это популярный и надежный язык программирования, богатый функциями, которые позволяют использовать его в широком спектре случаев, таких как анализ данных, создание сетей, автоматизация ИТ, тестирование на проникновение и многие другие. Он также имеет простой синтаксис, который позволяет разработчикам, знающим другие языки программирования, легко адаптироваться к использованию Python.Данные повсюду, и широкий спектр программных приложений взаимодействует с данными с помощью системы управления базами данных. SQLite - одна из самых популярных систем управления базами данных в Python.

SQLite - это простой, мощный механизм реляционной базы данных с открытым исходным кодом, который поддерживает большие программные приложения и встроенные системы. SQLite является автономным и требует минимальной настройки, что упрощает настройку и запуск с минимальными затратами времени. По умолчанию в Python встроен модуль SQLite (sqlite3), очень интуитивно понятный модуль для работы с базами данных SQLite в Python.

В этом руководстве мы рассмотрим, как использовать Python для работы с базами данных SQLite. От установления соединения до создания баз данных, чтения баз данных, обновления и удаления баз данных.

Начнем с установки SQLite:

Установка SQLite и Python

В зависимости от вашего дистрибутива Linux вы можете загрузить архив SQLite с https: // www.sqlite.org / download.html или используйте менеджер пакетов.

Чтобы установить его в Debian:

sudo apt-get update
sudo apt-get install sqlite -y

Затем у вас должна быть установлена ​​последняя версия Python3. Python по умолчанию должен быть предварительно установлен в вашем дистрибутиве.

Оболочка SQLite

Методом по умолчанию для взаимодействия с базами данных SQLite является использование оболочки. Оболочка позволяет выполнять встроенные команды SQL или набор для выполнения функций в базах данных.

Для запуска оболочки SQLite используйте команду:

$ sqlite

SQLite версии 2.8.17 Введите “.помощь »для получения инструкций

sqlite>

Это должно запустить оболочку SQLite с приглашением, позволяющим вводить команды. Начните с ввода команды .помогите просмотреть справку оболочки.

sqlite> .помощь
.базы данных Список имен и файлов прикрепленных баз данных
.свалка ?ТАБЛИЦА?… Дамп базы данных в текстовом формате
.echo ON | OFF Включение или выключение эха команды
.выход Выйти из этой программы
.объяснить ВКЛ | ВЫКЛ Включение или выключение режима вывода, подходящего для ОБЪЯСНЕНИЯ.
.header (s) ON | OFF Включение или выключение отображения заголовков
.help Показать это сообщение
.индексы ТАБЛИЦА Показать названия всех индексов в ТАБЛИЦЕ
.режим РЕЖИМ Установите режим на одно из "строка (и)", "столбец (и)",
«вставить», «список» или «HTML»
----------------------------------------------------------------------

Для выхода из оболочки SQLite используйте .команда выхода.

sqlite> .покидать

Есть другие функции и операции, которые вы можете использовать внутри оболочки SQLite. Например, чтобы просмотреть все базы данных, вы можете использовать .команда базы данных.

Я настоятельно рекомендую вам поэкспериментировать с оболочкой SQLite и ознакомиться, поскольку она позволит вам понять, как использовать модуль SQLite3 в Python.

Подключение к базе данных

Давайте теперь будем использовать модули Python и SQLite3 для взаимодействия с базами данных SQLite. Стоит отметить, что есть и другие модули Python, которые можно использовать для взаимодействия с SQLite. Однако SQLite3 прост и поставляется в комплекте с Python.

Рассмотрим приведенный ниже сценарий для подключения к базе данных SQLite.

импорт sqlite3 из sqlite3 ошибка импорта
def connect_db (db_path):
connection = Нет попытки:
соединение = sqlite3.подключить (db_path)
print ("База данных успешно подключена")
кроме ошибки как e:
print (f "Произошла ошибка: e")
обратное соединение
connect_db ("/ home / user / Desktop / demo.sqlite ")

Начнем с импорта модулей SQLite и Error.
В строке 3 мы создаем функцию connect_db (), которая принимает в качестве аргумента путь к базе данных.
Следующая часть включает блок попыток / ошибок. Первая часть принимает в качестве аргумента путь к базе данных и устанавливает соединение. Обратите внимание: в SQLite, если указанная база данных не существует, она создается автоматически.
Блок ошибок пытается перехватить исключения и распечатать их пользователю.
В последней строке мы вызываем функцию connect_db и передаем путь к базе данных, которую хотим использовать или создать.

ПРИМЕЧАНИЕ: Если вы хотите создать базу данных памяти вместо диска, вы можете указать: memory в объекте подключения.

sqlite3.подключить («: память»)

SQLite создать таблицу

В SQLite мы можем использовать оболочку SQL для создания таблиц с помощью запроса CREATE TABLE. Общий синтаксис выглядит так:

СОЗДАТЬ ТАБЛИЦУ имя_базы_данных.table_name (
имя_столбца тип данных ПЕРВИЧНЫЙ КЛЮЧ (столбцы),
column2_name тип данных,
… ColumnN_name тип данных,
);

Я не буду углубляться в создание таблиц с использованием оболочки SQLite, поскольку наша основная задача - Python. Чтобы узнать больше, ознакомьтесь с документацией по SQL Lite из приведенного ниже ресурса. Теперь, чтобы использовать модули Python и sqlite3 для создания таблиц базы данных, нам нужно использовать объект курсора и выполнять функции SQL-запросов. Рассмотрим код ниже:

импорт sqlite3 из sqlite3 ошибка импорта
def connect_db (db_path):
connection = Нет
пытаться:
соединение = sqlite3.подключить (db_path)
print ("База данных успешно подключена")
кроме ошибки как e:
print (f "Произошла ошибка: e")
вернуть соединение def run_query (соединение, sql_query):
курсор = соединение.курсор()
пытаться:
курсор.выполнить (sql_query)
связь.совершить()
print («SQL-запрос успешно выполнен… [OK]»)
кроме ошибки как e:
print (f "Ошибка запроса… e")
query = "" "
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ, показывает (
id INTEGER PRIMARY KEY AUTOINCREMENT,
имя ТЕКСТ НЕ ПУСТО,
год INTGER,
жанр ТЕКСТ,
страна ТЕКСТ
);
"" "
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = запрос)

Давайте теперь обсудим, что делает приведенный выше код - найдем первую функцию, описанную выше (см.). Во второй функции create мы передаем соединение и запрос для выполнения в качестве параметров. Следующие строки создают объект курсора, который мы будем использовать для вызова метода execute. Как упоминалось выше, следующие строки вызывают объект курсора для выполнения метода и вызывают передачу запроса в качестве параметра. Блок также выводит сообщение об успешном выполнении запроса. После успешного выполнения запроса мы говорим SQLite использовать метод фиксации для сохранения изменений в базе данных. Блок except перехватывает исключения и выводит пользователю сообщение об ошибке. Наконец, мы создаем запрос для выполнения с использованием простого синтаксиса SQLite.

Записи вставки SQLite

Чтобы добавить данные в базу данных SQLite, мы можем погрузиться в функцию run_query (), которую мы использовали для создания, поскольку она может запускать любой запрос SQLite, который мы ей передаем. Однако мы используем запрос INSERT INTO для добавления данных в таблицу.

Рассмотрим блок ниже:

add_shows = "" "
ВСТАВИТЬ В
шоу (id, имя, год, жанр, страна)
ЗНАЧЕНИЯ
(«101», «Бруклинская девять-девять», «2013», «Комедия», «США»),
(«201», «Звездный путь: Открытие», «2017», «Научная фантастика», «США»),
(«301», «Звездный путь: Пикард», «2020», «Научная фантастика», «США»);
"" "run_query (connection = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)

Теперь нам нужно вызвать функцию run_query и добавить передачу запроса add_shows для вставки данных в таблицу шоу. Убедитесь, что таблица, в которую вы вставляете данные, существует, чтобы избежать ошибки.

SQLite Удалить записи

Вы также можете использовать функцию run_query () для удаления записей из указанной таблицы. Все, что вам нужно, это установить запрос как УДАЛИТЬ ИЗ.

Рассмотрим следующий подзапрос:

remove = "DELETE FROM показывает WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = удалить)

Вышеупомянутый запрос удаляет шоу «Brooklyn Nine-Nine» из таблицы шоу.

Заключение

В этом руководстве вы научились использовать Python для доступа к базам данных SQLite и взаимодействия с ними. Из того, что вы узнали из этого руководства, теперь вы можете создавать функции, подключаться к базам данных SQLite, создавать таблицы, вставлять данные и удалять их. Хотя это руководство для начинающих по работе с SQLite в Python, оно должно помочь вам начать изучение других технологий, таких как SQLAlchemy и т. Д.

WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...