DevGang
Авторизоваться

Как добавлять и читать данные в SQLite с помощью Python 

Python поставляется со встроенным пакетом  sqlite3, который мы можем импортировать в наш проект и использовать его API для подключения к базе данных SQLite и простого управления базой данных.

Подключить приложение Python к базе данных SQLite

Для соединения с базой данных SQLite используйте функцию connect().

import sqlite3

connection = sqlite3.connect('shows.db')

Если  файл shows.db  отсутствует, он будет создан и подключен. Если он есть, то он будет подключен.

Чтобы создать таблицу в базе данных, нам нужно использовать объект курсора. Чтобы создать объект курсора, используйте метод connection.cursor().

cursor = connection.cursor()

Теперь создайте таблицу базы данных с несколькими столбцами.

cursor.execute('''CREATE TABLE IF NOT EXISTS Shows
              (Title TEXT, Director TEXT, Year INT)''')

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

Вставить данные в базу данных SQLite с помощью Python

Чтобы добавить данные в SQLite с помощью Python, мы используем запрос INSERT INTO TABLE. Мы выполним запрос INSERT с помощью курсора.

cursor.execute("INSERT INTO Shows VALUES ('Stranger Things', 'Shawn Levy', 2016)")

В этом коде мы написали запрос, и соответствующие значения столбцов - Stranger Things, Shawn Levy, 2016.

Чтение данных в базе данных SQLite с помощью Python.

Чтобы проверить, правильно ли вставлены данные в базу данных SQLite с помощью Python, используйте запрос SELECT и распечатайте строку с  помощью метода cursor.fetchone().

cursor.execute("SELECT * FROM Shows")

print(cursor.fetchone())

Последним шагом будет фиксация этих изменений для сохранения в базе данных и закрытие соединения.

Итак, наш полный код выглядит следующим образом.

import sqlite3

connection = sqlite3.connect('shows.db')
cursor = connection.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS Shows
              (Title TEXT, Director TEXT, Year INT)''')

cursor.execute(
    "INSERT INTO Shows VALUES ('Stranger Things', 'Shawn Levy', 2016)")
cursor.execute("SELECT * FROM Shows")

print(cursor.fetchone())

connection.commit()
connection.close()

Запустите указанный выше файл в терминале.

 python3 app.py
('Stranger Things', 'Shawn Levy', 2016)

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

Вставить несколько данных в базу данных с помощью Python

Чтобы вставить несколько строк в базу данных, сначала создайте данные, которые вы хотите вставить, а затем используйте запрос, чтобы добавить все данные за один раз.

moreShows = [('Money Heist', 'Alex Rodrigo', 2017),
            ('Dark', 'Baran bo Odar', 2017),
            ('1992 Scam', 'Hansal Mehta', 2020)]

Здесь мы создали кортеж Python, содержащий каждую строку в таблице Shows.

Чтобы добавить несколько данных в базу данных SQLite с помощью Python, используйте метод cursor.executemany().

cursor.executemany("INSERT INTO Shows VALUES (?, ?, ?)", moreShows)

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

Теперь давайте извлечем все данные из базы данных.

Чтобы получить все записи из базы данных SQLite, используйте метод cursor.fetchall().

Наш полный код, который добавляет несколько записей и показывает все записи пользователю:

import sqlite3

connection = sqlite3.connect('shows.db')
cursor = connection.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS Shows
              (Title TEXT, Director TEXT, Year INT)''')

moreShows = [('Money Heist', 'Alex Rodrigo', 2017),
             ('Dark', 'Baran bo Odar', 2017),
             ('1992 Scam', 'Hansal Mehta', 2020)]

cursor.executemany("INSERT INTO Shows VALUES (?, ?, ?)", moreShows)
records = cursor.execute("SELECT * FROM Shows")

print(cursor.fetchall())

connection.commit()
connection.close()

Запустите файл и посмотрите результат.

python3 app.py
[('Stranger Things', 'Shawn Levy', 2016), 
('Money Heist', 'Alex Rodrigo', 2017), ('Dark', 'Baran bo Odar', 2017), 
('1992 Scam', 'Hansal Mehta', 2020)]

Здесь вы можете видеть, что мы уже добавили строку Stranger Things в первом примере, сохраненную в базе данных. Вот почему он появляется во всех записях.

Это все для добавления и чтения данных в SQLite с использованием Python.

Источник:

#Python #SQL
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Сделайте первый шаг к новой профессии

Получить скидку