Найти в Дзене
Kabyleti plays

Создание собственной базы данных в SQLite

Сегодня мы создадим свою базу данных состоящую из одной таблицы на основе встроенной в #Python библиотеки SQLite. Код будем писать в таком инструменте как Jupyter Notebook (о том как его установить я писал в предыдущей статье). Первым делом импортируем нужную нам библиотеку: import sqlite3 as sq Устанавливаем соединение с нашей базой данных(далее db) на локальном диске. Если такой не будет найдено, она создастся автоматически с этим именем: my_db = sq.connect("My.db") Создаём объект "курсор", служащий для создания запроса к db и получения от неё результатов: cursor = my_db.cursor() Напишем 2 запроса для нашей db в которых создадим тестовую таблицу и внесем в неё данные request = """ CREATE TABLE IF NOT EXISTS 'test_table'( 'object_id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 'objects' VARCHAR(10), 'quantity' INTEGER) ; INSERT INTO test_table ("objects", "quantity") VALUES ("object_1", 10), ("object_2", 9), ("object_3", 8) ;""" Передаем курсору наш request: cursor.executescript(reque

Сегодня мы создадим свою базу данных состоящую из одной таблицы на основе встроенной в #Python библиотеки SQLite.

Код будем писать в таком инструменте как Jupyter Notebook (о том как его установить я писал в предыдущей статье).

Первым делом импортируем нужную нам библиотеку:

import sqlite3 as sq

Устанавливаем соединение с нашей базой данных(далее db) на локальном диске. Если такой не будет найдено, она создастся автоматически с этим именем:

my_db = sq.connect("My.db")

Создаём объект "курсор", служащий для создания запроса к db и получения от неё результатов:

cursor = my_db.cursor()

Напишем 2 запроса для нашей db в которых создадим тестовую таблицу и внесем в неё данные

request = """

CREATE TABLE IF NOT EXISTS 'test_table'(

'object_id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,

'objects' VARCHAR(10),

'quantity' INTEGER)

;

INSERT INTO test_table ("objects", "quantity")

VALUES ("object_1", 10), ("object_2", 9), ("object_3", 8)

;"""

Передаем курсору наш request:

cursor.executescript(request)

Теперь, что бы проверить что все получилось создадим запрос на выгрузку тестовой таблицы из нашей db:

cursor.execute("SELECT * FROM test_table")

Получаем результат сделанного запроса

results = cursor.fetchall()

Далее проверяем, что у нас получилось:

Получаем в ответ список из занесённых в нашу db строк.
Получаем в ответ список из занесённых в нашу db строк.

После того как вы наигрались с db не забываем её закрыть перед выходом из #Jupyter Notebook :

my_db.close()

Обратите внимание, что в списке наших блокнотов, в Jupyter Notebook, появилась и наша db.

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