Найти в Дзене
Алексей Семенов

SQLite и Python - как работать с базой данных

Оглавление

Базы данных - важная часть современного программирования. Количество доступной информации резко возросло. а их анализ может принести нам огромную пользу.

Об этом уже узнала не одна компания. Однако, прежде чем это произойдет, их нужно где-то собрать и хранить.

И есть много возможных решений. Очень много.

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

Самая популярная база данных сегодня - это MySQL. Она бесплатна и содержит все, что нужно в реляционной базе данных. Чаще всего устанавливается на серверах. Она позволяет управлять пользователями и отлично подходит для проектов малого и среднего размера.

Но… иногда нам нужно использовать более простой механизм. База данных, которая будет размещена локально вместе с нашим приложением. Возможно находится в одном простом файле.

И это SQLite3.

SQLite 3

SQLite - это бессерверная реляционная легкая база данных. Он находится в одном файле. Очень часто выбирается в качестве базы для приложений iOS и Android. Поддерживает SQL.

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

Мы можем рассматривать это как альтернативу хранению данных в локальном в файле.

Создание базы данных, таблицы и добавление данных

Простые операции по созданию таблицы и вставке в нее нескольких строк заключаются в следующем:

import sqlite3
conn = sqlite3.connect('c:/Python/Project/example.sqlite')
c = conn.cursor()
# Создаем таблицу
c.execute('''CREATE TABLE goods
(data TEXT, good_id INTEGER, price REAL)''')
# Добавляем данные
c.execute("""INSERT INTO goods VALUES
('2020-05-06', 36, 17.50)""")
c.execute("""INSERT INTO goods VALUES
('2020-05-19', 18, 39.99)""")
# Сохранить изменения
conn.commit()
# Закрытие подключения к базе данных
conn.close()

В результате наш код состоит из 3 основных частей:

1. Подготовка к работе с базой.

Включая импорт библиотеки sqlite3, подключение к базе данных sqlite и установку так называемого cursora, что нам нужно выполнять операции на основе:

import sqlite3
conn = sqlite3.connect('c:/Python/Project/example.sqlite')
c = conn.cursor()

2. Выполнение команд в базе данных с использованием SQL.

Это может быть создание базы данных, таблицы, добавление данных, чтение данных, изменение данных и т.д.

# Создание таблицы
c.execute('''CREATE TABLE goods
(data TEXT, good_id INTEGER, price REAL)''')
# Добавляем данные
c.execute("""INSERT INTO goods VALUES
('2020-05-06', 36, 17.50)""")
c.execute("""INSERT INTO goods VALUES
('2020-05-19', 18, 39.99)""")

3. Закрытие соединения с самой базой данных sqlite.

# Сохранить изменения
conn.commit()
# Закрытие подключения к базе данных
conn.close()

Чтение данных из SQLite

Считываем данные так же, как в приведенном выше примере.

import sqlite3
conn = sqlite3.connect('c:/Python/Project/example.sqlite')
c = conn.cursor()
for row in c.execute('SELECT * FROM goods ORDER BY price'):
print(row)
c.close()

Резюме

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

Это, правда, не означает, что в любой ситуации мы можем обойтись без серверных баз данных, таких как MySQL или PostgreSQL.

---

Подписывайтесь на канал, впереди еще больше полезных статей по Python https://zen.yandex.ru/id/5f56875a664c2c1f0b8dc68a

Статья была полезной - поставьте палец вверх :-)