SQLite е прост, мощен, с отворен код и релационен механизъм за бази данни, който поддържа големи софтуерни приложения и вградени системи. SQLite е самостоятелен и изисква минимална конфигурация, което улеснява настройката и работата с минимално време. По подразбиране Python се вгражда с модул SQLite (sqlite3), много интуитивен модул за работа с бази данни на SQLite в Python.
В този урок ще разгледаме как да използваме Python за работа с бази данни на SQLite. От установяване на връзка до създаване на бази данни, четене на бази данни, актуализиране и премахване на бази данни.
Нека започнем с инсталирането на SQLite:
Инсталиране на SQLite и Python
В зависимост от вашата дистрибуция на Linux, можете да изтеглите архива на SQLite от https: // www.sqlite.org / изтегляне.html или използвайте мениджъра на пакети.
За да го инсталирате на Debian:
sudo apt-get updatesudo apt-get install sqlite -y
След това трябва да имате инсталирана най-новата версия на Python3. Python вече трябва да е предварително инсталиран във вашата дистрибуция по подразбиране.
Черупка на SQLite
Методът по подразбиране за взаимодействие с бази данни на SQLite е използването на обвивката. Черупката ви позволява да изпълнявате SQL команди вградени или колекция за изпълнение на функции в бази данни.
За да стартирате черупката на SQLite, използвайте командата:
$ sqliteSQLite версия 2.8.17 Въведете „.помощ ”за инструкции
sqlite>Това трябва да стартира обвивката на SQLite с подкана, която ви позволява да въвеждате команди. Започнете с въвеждане на командата .помощ за преглед на помощната черупка.
sqlite> .помогне.бази данни Изброява имена и файлове на прикачени бази данни
.изхвърляне ?ТАБЛИЦА?... Изхвърлете базата данни в текстов формат
.echo ON | OFF Включване или изключване на командното ехо
.изход Излезте от тази програма
.обяснете ON | OFF Включете или изключете изходния режим, подходящ за EXPLAIN.
.заглавка (и) ВКЛ. | ИЗКЛ. Включване или изключване на дисплея на заглавките
.Показване на това съобщение
.индекси TABLE Показване на имената на всички индекси в TABLE
.режим РЕЖИМ Задайте режим на един от "ред (и)", "колона (и)",
"вмъкване", "списък" или "html"
----------------------------------------------------------------------
За да излезете от черупката на SQLite, използвайте .команда за отказ.
sqlite> .напуснетеИма и други функции и операции, които можете да използвате вътре в черупката на SQLite. Например, за да видите всички бази данни, можете да използвате .команда за база данни.
Силно препоръчвам да експериментирате с черупката на SQLite и да се запознаете, тъй като тя ще ви позволи да разберете как да използвате модула SQLite3 в Python.
Свързване към база данни
Нека сега използваме модулите Python и SQLite3 за взаимодействие с бази данни на SQLite. Добре е да се отбележи, че има и други модули на Python, които можете да използвате за взаимодействие с SQLite. SQLite3 обаче е прост и се доставя в комплект с Python.
Помислете за скрипта по-долу, за да се свържете с базата данни SQLite.
импортиране на sqlite3 от sqlite3 Грешка при импортиранеdef connect_db (db_path):
връзка = Няма опит:
връзка = sqlite3.свързване (db_path)
print ("Базата данни е свързана успешно")
с изключение на Грешка като e:
print (f "Възникна грешка: e")
връщане на връзката
connect_db ("/ дом / потребител / работен плот / демо.sqlite ")
Започваме с импортиране на модулите SQLite и Error.
В ред 3 създаваме функция connect_db (), която приема пътя на базата данни като аргумент.
Следващата част включва блок за опит / грешка. Първата част приема пътя на базата данни като аргумент и установява връзка. Забележете, че в SQLite, ако посочената база данни не съществува, тя се създава автоматично.
Блокът за грешка се опитва да улови изключения и ги отпечатва на потребителя.
В последния ред извикваме функцията connect_db и предаваме пътя към базата данни, която искаме да използваме или създадем.
ЗАБЕЛЕЖКА: Ако искате да създадете база данни с памет вместо диск, можете да посочите: памет в свържете obj.
sqlite3.свързване (“: памет”)SQLite Създаване на таблица
В SQLite можем да използваме SQL черупката за създаване на таблици с помощта на CREATE TABLE Query. Общият синтаксис е като:
СЪЗДАВАНЕ НА ТАБЛИЦА име на база данни.име_на_таблица (column_name тип данни ОСНОВЕН КЛЮЧ (колона (и),
тип данни на column2_name,
... колонаN_name тип данни,
);
Няма да се впускам в създаването на таблици с помощта на черупката на SQLite, тъй като основният ни фокус е Python. Разгледайте документацията за SQL Lite от ресурса по-долу, за да научите повече. Сега, за да използваме модулите Python и sqlite3 за създаване на таблици на базата данни, трябва да използваме обекта на курсора и да изпълним функциите на SQL заявки. Помислете за кода по-долу:
импортиране на sqlite3 от sqlite3 Грешка при импортиранеdef connect_db (db_path):
връзка = Няма
опитвам:
връзка = sqlite3.свързване (db_path)
print ("Базата данни е свързана успешно")
с изключение на Грешка като e:
print (f "Възникна грешка: e")
връщане на връзката def run_query (връзка, sql_query):
курсор = връзка.курсор ()
опитвам:
курсора.изпълнение (sql_query)
Връзка.ангажиране ()
печат ("SQL заявката се изпълнява успешно ... [ОК]")
с изключение на Грешка като e:
print (f "Заявката е неуспешна ... e")
заявка = "" "
СЪЗДАЙТЕ ТАБЛИЦА, АКО НЕ СЪЩЕСТВА показва (
id ИНТЕГРИРАНА ОСНОВНА КЛЮЧОВА АВТОМОБИЛНА ИНФОРМАЦИЯ,
име ТЕКСТ НЕ НУЛЕН,
година INTGER,
жанр ТЕКСТ,
страна ТЕКСТ
);
""
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = заявка)
Нека сега обсъдим какво прави горният код - намерете първата функция, обяснена по-горе (моля, вижте). Във втората функция, create, ние предаваме връзката и заявката, която да се изпълни като параметри. Следващите редове създават обект на курсора, който ще използваме, за да извикаме метода за изпълнение. Както бе споменато по-горе, следващите редове извикват обекта на курсора за изпълнение на метода и извикването предава заявката като параметър. Блокът отпечатва и съобщение за успешно изпълнение на заявката. След като заявката се изпълни успешно, казваме на SQLite да използва метода на фиксиране, за да запише промените в базата данни. Блокът освен улавя изключения и отпечатва съобщението за грешка на потребителя. И накрая, ние създаваме заявката за изпълнение с помощта на прост синтаксис на SQLite.
SQLite Вмъкване на записи
За да добавим данни към базата данни на SQLite, можем да се потопим във функцията run_query (), която използвахме за създаване, тъй като тя може да изпълнява всяка заявка за SQLite, която предаваме към нея. Ние обаче използваме заявката INSERT INTO, за да добавим данни към таблицата.
Помислете за блока по-долу:
add_shows = "" "ВЪВЕДЕТЕ В
показва (идентификатор, име, година, жанр, държава)
СТОЙНОСТИ
("101", "Бруклин девет-девет", "2013", "комедия", "САЩ"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
"" "run_query (connection = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)
Сега трябва да извикаме функцията run_query и да добавим пропуска заявката add_shows, за да вмъкнем данни в таблицата показва. Уверете се, че таблицата, в която вмъквате данни, съществува, за да избегнете грешка.
SQLite Изтриване на записи
Можете също да използвате функцията run_query (), за да премахнете записи от посочената таблица. Всичко, от което се нуждаете, е да зададете заявката като ИЗТРИВАНЕ ОТ.
Обмислете следната подзаявка:
remove = "DELETE FROM показва WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = премахване)Горната заявка премахва шоуто „Бруклин девет-девет“ от таблицата на шоутата.
Заключение
Този урок ви научи как да използвате Python за достъп и взаимодействие с бази данни на SQLite. От това, което научихте от този урок, вече можете да създавате функции, да се свързвате с бази данни на SQLite, да създавате таблици, да вмъквате данни и да ги изтривате. Въпреки че това е начално ръководство за работа с SQLite в Python, трябва да започнете да изучавате други технологии като SQLAlchemy и други.