Привет всем! Сегодня разберемся, как в Python работать с базой данных SQLlite и что это вообще такое. Итак…
Обычно для создания базы данных используется сервер, который нужно правильно настроить, установить и прочее-прочее-прочее… НО! Есть SQLlite — которая не только является разработкой с открытым исходным кодом, но и позволяет использовать базы данных без сервера. Как? Очень просто — вся база данных — просто файл, который может быть легко перенесен или распространен. Это делает ее очень удобной для использования в мобильных приложениях, встраиваемых системах и веб-приложениях, где необходимо минимальное количество зависимостей и установок.
Теперь разберемся, как работать с SQLlite в Python. Для этого нам понадобиться библиотека sqlite3, больше подробностей о которой вы сможете узнать тут.
- Соединение с базой данных:
import sqlite3
conn = sqlite3.connect('example.db')
Важно знать, что файл ‘example.db’ будет создан автоматически, если он еще не существует. Если файл уже существует, то соединение с этим файлом будет установлено.
- Создание таблицы:
cursor = conn.cursor()
cursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)''')
conn.commit()
Что такое курсор в этом коде? Разберемся 😉
В этом коде речь идет о «курсоре» SQLite. Курсор — это инструмент, который позволяет выполнять операции с базой данных.
conn.cursor() создает экземпляр курсора, который может использоваться для выполнения запросов к базе данных. В данном случае cursor.execute используется для выполнения запроса на создание таблицы ‘users’. Наконец, conn.commit() применяет изменения к базе данных.
Теперь рассмотрим команду «cursor.execute(»’CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)»’)«. Что она делает?
Эта команда создает таблицу «users» в базе данных SQLite, используя курсор «cursor».
«CREATE TABLE users» — команда создания таблицы с именем «users».
«(id INTEGER PRIMARY KEY, name TEXT, email TEXT)» — это список колонок в таблице, где:
«id» — первичный ключ, целое число.
«name» — столбец текстовых данных.
«email» — столбец текстовых данных.
После выполнения команды таблица будет создана в базе данных и готова для добавления данных.
Теперь в полученную таблицу нужно вставить данные 😉
3. Вставка данных:
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('John', 'john@example.com'))
conn.commit()
Этот код вставляет данные в таблицу «users». Выполняется команда «INSERT INTO», которая добавляет данные в указанную таблицу «users». В скобках указываются имена столбцов, куда будут вставлены данные. Значения «John» и «john@example.com» указываются в виде вопросительных знаков и передаются в качестве аргументов в конце команды.
Теперь для примера получим данные.
4. Выборка данных:
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
В этом коде сначала создается курсор «cursor» с помощью метода «conn.cursor()». Затем выполняется SQL-запрос «SELECT * FROM users», который выбирает все данные из таблицы «users». Результат запроса сохраняется в переменную «rows». Затем мы запускаем цикл, итерация через каждую строку в «rows» и выводится каждая строка с помощью «print(row)».
И наконец, после работы с базой данных — нужно закрыть соединение с SQLlite-базой.
5. Закрытие соединения:
conn.close()
Зачем закрывать соединение с SQL-базой? Все очень просто: мы закрываем соединение с базой данных, чтобы освободить ресурсы и предотвратить возможные проблемы с доступом к базе данных.
Фух. На сегодня — хватит!
Как всегда — в случае вопросов пишите на почту, или в Telegram.
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️