Найти в Дзене

[Часть 2]Простой блог на Python

Всем увееееееей ребята, во второй части мы поговорим о python и SQLite. Ну что-ж меньше слов - больше дела, поехали. Часть 1: https://dzen.ru/media/id/657db13f723bf50ff344f52d/chast-1prostoi-blog-na-python-657db14d1b53404e3dd2a003 В этом руководстве мы покроем все основные аспекты использования SQLite, начиная с установки и создания базы данных, и заканчивая выполнением сложных запросов и управлением транзакциями. Почему SQLite? SQLite - это компактная и легкая встраиваемая база данных, которая позволяет хранить и управлять данными прямо внутри вашего приложения. Её простота в использовании и широкая поддержка делают её прекрасным выбором для различных проектов, включая веб-приложения, мобильные приложения и многое другое. Преимущества использования SQLite Установка и настройка Установка библиотеки sqlite3 в Python Чтобы начать работу с SQLite в Python, нам потребуется библиотека sqlite3. Эта библиотека входит в стандартную библиотеку Python (начиная с версии 2.5), поэтому нам не нужно
Оглавление

Всем увееееееей ребята, во второй части мы поговорим о python и SQLite. Ну что-ж меньше слов - больше дела, поехали.

Часть 1: https://dzen.ru/media/id/657db13f723bf50ff344f52d/chast-1prostoi-blog-na-python-657db14d1b53404e3dd2a003

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

Почему SQLite?

SQLite - это компактная и легкая встраиваемая база данных, которая позволяет хранить и управлять данными прямо внутри вашего приложения. Её простота в использовании и широкая поддержка делают её прекрасным выбором для различных проектов, включая веб-приложения, мобильные приложения и многое другое.

Преимущества использования SQLite

  1. Простота: SQLite не требует отдельного сервера или настройки. Она работает как часть вашего приложения.
  2. Надежность: Транзакции и ACID-свойства обеспечивают надежность и целостность данных.
  3. Кроссплатформенность: SQLite поддерживается на множестве платформ, включая Windows, macOS и Linux.
  4. Эффективность: Использует минимальные ресурсы системы, что делает её хорошим выбором для мобильных устройств.

Установка и настройка

Установка библиотеки sqlite3 в Python

Чтобы начать работу с SQLite в Python, нам потребуется библиотека sqlite3. Эта библиотека входит в стандартную библиотеку Python (начиная с версии 2.5), поэтому нам не нужно устанавливать её отдельно. Мы можем начать использовать sqlite3 сразу после установки Python.

Создание новой базы данных и подключение к существующей

Для начала работы с SQLite, давайте создадим новую базу данных и подключимся к ней:

import sqlite3
# Создаем подключение к базе данных (файл database.db будет создан)
connection = sqlite3.connect('database.db')
connection.close()

Создадим таблицу в бд:

import sqlite3
# Устанавливаем соединение с базой данных
connection = sqlite3.connect('database.db')
cursor = connection.cursor()
# Создаем таблицу Posts
cursor.execute('''
CREATE TABLE IF NOT EXISTS Posts (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
text TEXT NOT NULL,
link TEXT NOT NULL
)
''')
# Сохраняем изменения и закрываем соединение
connection.commit()
connection.close()

С выполнением у нас появиться файл database.db в котором есть таблица posts а в ней 4 столбца id, title, text и link.

Описание основных типов данных SQLite

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

  1. INTEGER: Целые числа.
  2. TEXT: Текстовые данные.
  3. REAL: Числа с плавающей запятой.
  4. BLOB: Двоичные данные.

Добавление данных

Давайте добавим пост. Сделаем это с помощи insert. Изменим файл который сделали выше:

)
...
''')
# Добавляем новый пост
cursor.execute('INSERT INTO Posts (title, text, link) VALUES (?, ?, ?)', ('Пост 1', 'Текст поста 1', 'post-1'))
# Сохраняем изменения и закрываем соединение
...
connection.commit()

Вывода мы не увидим, но в таблице "Posts" появится "Пост 1" с текстом "Текст поста 1" и ссылкой "post-1".

Изменение данных

Теперь изменим пост 1 а точнее текст, вместо "cursor.execute('INSERT INTO Posts (title, text, link) VALUES (?, ?, ?)', ('Пост 1', 'Текст поста 1', 'post-1'))" напишем "cursor.execute('UPDATE Posts SET text = ? WHERE link = ?', ('Новый текст поста 1', 'post-1'))" получиться так:

import sqlite3
# Устанавливаем соединение с базой данных
connection = sqlite3.connect('database.db')
cursor = connection.cursor()
# Создаем таблицу Posts
cursor.execute('''
CREATE TABLE IF NOT EXISTS Posts (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
text TEXT NOT NULL,
link TEXT NOT NULL
)
''')
# Изменяем пост
cursor.execute('UPDATE Posts SET text = ? WHERE link = ?', ('Новый текст поста 1', 'post-1'))
# Сохраняем изменения и закрываем соединение
connection.commit()
connection.close()

Вывода мы не увидим, но в таблице "Posts" измениться "Пост 1" новый текст "Новый текст поста 1".

Удаление данных

теперь вместо строчки обновления данных напишем "cursor.execute('DELETE FROM Posts WHERE link = ?', ('post-1',))". Тут мы удаляем пост 1.

Вывод данных

Вернём пост 1 назад. И создадим файл для просмотра постов:

import sqlite3
# Устанавливаем соединение с базой данных
connection = sqlite3.connect('database.db')
cursor = connection.cursor()
# Выбираем всех пользователей
cursor.execute('SELECT * FROM Posts')
posts = cursor.fetchall()
# Выводим результаты
for post in posts:
print(f"{post[1]}\n{post[2]}")
# Закрываем соединение
connection.close()

Вывод:

Пост 1
Текст поста 1

Подписывайтесь ведь скоро продолжение где я расскажу об конфигах и логах в Python.