Базы данных - важная часть современного программирования. Количество доступной информации резко возросло. а их анализ может принести нам огромную пользу.
Об этом уже узнала не одна компания. Однако, прежде чем это произойдет, их нужно где-то собрать и хранить.
И есть много возможных решений. Очень много.
Некоторые базы данных работают быстро, другие могут хранить большие объемы данных, третьи подходят для структурированных данных, третьи - для неструктурированных данных и т. д. Существует множество решений с преимуществами и недостатками.
Самая популярная база данных сегодня - это 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
Статья была полезной - поставьте палец вверх :-)