Python, введение в БД

от автора

Базы данных

Здравствуйте, здесь и сейчас я хочу рассказать, что такое базы данных, зачем они нужны, и т.д.; для работы с ними мы будем использовать python и его библиотеку sqlite3.

База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных

Так нам говорит Яндекс, но если сказать простыми словами, не углубляясь во все эти понятия, то:

Базы данных (БД) — библиотека, хранящая данные в том или ином виде.

То есть как в библиотеку мы можем прийти и взять книгу «Война и мир», зная что она будет лежать в разделе романов, на букву «В», так и из БД мы можем взять запись по определённому аргументу, в данном случае жанру.

И тут возникает вопрос.

Как это сделать?

И что бы ответить на этот вопрос, мы должны кое-что узнать.

Как хранятся данные в базах данных

Сначала нужно понять, что БД делятся на:

  • Реляционные
  • Сетевые
  • Иерархические
Сетевые и иерархические БД:

Такие БД представляют собой графы и хранят информацию в них же.

  • Иерархические — древовидный граф
  • Сетевые — полный граф

Данные БД здесь мы рассматривать не будем. Поэтому перейдём к реляционной БД.

Реляционные базы данных

Реляционные БД — БД, в которых данные хранятся в виде таблицы, например Exel.

SQL — именно реляционная БД, и все данные в ней хранятся, в виде таблицы. Например такой:

Я думаю что, на вопрос мы ответили, и можно идти дальше.

Зачем нужны базы данных?

За всю жизнь, человечество накопила невероятно много информации, а БД, как мы знаем собирают, и сортирует эту информацию по таблицам (в нашем случае). И БД помогают абсолютно спокойно ориентироваться во всей этой куче информации, добавлять её туда, изменять и т.д.;

Из теории в практику

Сейчас мы пойдём в практику, но перед этим хотелось бы уточнить кое-что. Сверху я написал такую строку:

SQL — именно реляционная БД, и все данные в ней хранятся, в виде таблицы.

И как вы понимаете, это неверно.
SQL — это структурированный язык запросов (structured query language). Грубо говоря это язык программирования, позволяющий управлять Базами данных, таблицами в них и т.д.

Мой косяк исправили, идём в практику!

Установка sqlite3

Да, это смешно, но мало ли кому-нибудь понадобится

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

Создание первой БД

import sqlite3 as sql  con = sql.connect('test.db') with con:     cur = con.cursor()     cur.execute("CREATE TABLE IF NOT EXISTS `test` (id INTEGER)")     con.commit() 

Сначала импорт, потом «con =».
Объясняю, sql.connect(«test.db») — создает файл с именем «test.db», если запустили впервые. То есть принимает на вход путь до файла с расширением .db

cur = con.cursor — позволит нам производить операции с БД, остальное не важно.

cur.execute(…) — создаёт таблицу с именем тест и всего 1 колонкой id, в которой все данные — числа

commit() — грубо говоря, сохранение БД

А давайте создадим программу, которая запрашивает имя и фамилию, и записывает их в БД, а потом по выбору цифр либо выводит, либо записывает снова.

import sqlite3 as sql  print("1 - добавление\n2 - получение") choice = int(input("> ")) con = sql.connect('test.db') with con:     cur = con.cursor()     cur.execute("CREATE TABLE IF NOT EXISTS `test` (`name` STRING, `surname` STRING)")      if choice == 1:         name = input("Name\n> ")         surname = input("Surname\n> ")         cur.execute(f"INSERT INTO `test` VALUES ('{name}', '{surname}')")     elif choice == 2:         cur.execute("SELECT * FROM `test`")         rows = cur.fetchall()         for row in rows:             print(row[0], row[1])     else:         print("Вы ошиблись")      con.commit()     cur.close()  

Стандартные моменты пропустим.

cur.execute(«INS…») — Добавление данных

cur.execute(«SeL…») — Получение данных. И так как там отдаётся массив, то мы его перебираем, а после ещё и из кортежа данные берём.

«SELECT», «INSERT», «DROP» и т.д. — это всё SQL.

cur.fetchall() — это что бы в переменную записалось всё, что пришло из БД.

Вывод

Базы данных — важная и очень нужная вещь. Здесь мы затронули настолько её малую часть, что аж смешно. Поэтому чтобы действительно узнать как это работает, советую почитать об этом всём в интернете, благо информации много. Удачи!


ссылка на оригинал статьи https://habr.com/ru/post/481084/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *