что такое SQLite и как с ней работать

PYTHON – ЩО ТАКЕ SQLITE І ЯК З НЕЮ ПРАЦЮВАТИ?

Привіт всім! Сьогодні розберемося, як у 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.