Рубрики
Без рубрики

Напишите простую базу данных игрушек в Python в течение нескольких минут!

MySQL, PostgreSQL, Oracle, Redis … и многие другие вы просто называете это … Базы данных действительно импорта … Tagged с Python, базой данных, новичками, учебным пособием.

MySQL, PostgreSQL, Oracle, Redis … и многие другие вы просто называете это … Базы данных действительно являются важной технологией в прогрессе человеческой цивилизации. Сегодня мы видим, насколько ценным Данные Это и поэтому, как держать их в безопасности и стабильно, именно здесь идет база данных!

Мы можем увидеть, насколько важны базы данных. В течение довольно долгого времени я думал о создании своей собственной базы данных игрушек, чтобы понять, играть и экспериментировать с ней как Ричард Фейнман сказал

Что я не могу создать, Я не понимаю

Так что без каких -либо дальнейших разговоров давайте перейдем к веселой части … Кодирование …

Для этой базы данных игрушек мы будем использовать Python (Мой любимый ❤), я назвал эту базу данных Foobardb (Я не мог найти ни одного имени;)), но вы можете назвать его все, что хотите!

Итак, сначала давайте импортируем некоторые необходимые библиотеки Python, которые уже доступны в библиотеке Python Standard Library

import json
import os

Да, нам нужны только два либерага! json Поскольку наша база данных будет основана на JSON и ОС Для некоторых вещей, связанных с пути!

Теперь давайте определим основной класс Foobardb С некоторой довольно основной функцией, которую я объясню их ниже.

class FoobarDB(object):
    def __init__(self , location):
        self.location = os.path.expanduser(location)
        self.load(self.location)

    def load(self , location):
        if os.path.exists(location):
            self._load()
        else:
            self.db = {}
        return True

    def _load(self):
        self.db = json.load(open(self.location , "r"))

    def dumpdb(self):
        try:
            json.dump(self.db , open(self.location, "w+"))
            return True
        except:
            return False

Здесь мы определили наш основной класс с __init__ Функция, когда создание базы данных FOOBAR нам нужно только передать местоположение базы данных. В первом __init__ Функция мы принимаем параметр местоположения и заменяем ~ или ~ Пользователь С пользовательским домашним каталогом, чтобы он работал намерено, и, наконец, поместите его в Self.Location переменная для доступа к нему позже на одних и тех же классовых функциях. В конце мы называем загрузка Функция прохождения самостоятельно как аргумент.

. . . .
    def load(self , location):
        if os.path.exists(location):
            self._load()
        else:
            self.db = {}
        return True
. . . .

В следующем загрузка Функция Мы принимаем местоположение базы данных в качестве параметра, затем проверяем, существует ли база данных или нет, если она существует, мы просто загружаем ее с помощью _Load () Функция (объяснена ниже), в противном случае мы создаем пустой объект JSON в памяти. И, наконец, вернуть правду на успех.

. . . . 

    def _load(self):
        self.db = json.load(open(self.location , "r"))
. . . . 

В _load функция Мы просто открываем файл базы данных из местоположения, хранящегося в Self.Location затем преобразовать его в объект JSON и загружает его в self.db переменная.

. . . .
    def dumpdb(self):
        try:
            json.dump(self.db , open(self.location, "w+"))
            return True
        except:
            return False

. . . .

И, наконец, DIRMPDB Функция, его имя говорит о том, что он делает, в основном он просто берет базу данных в памяти (на самом деле объект JSON) из self.db переменная и сохраняет его в файле базы данных! Он возвращается Верно Если сохранено успешно, иначе возвращает ЛОЖЬ

Но подождите минуту! 😐 База данных бесполезна, если она не может хранить и получить данные, не так ли? 😉 Поехам и добавим их также … 😎

. . . .
    def set(self , key , value):
        try:
            self.db[str(key)] = value
            self.dumpdb()
            return True
        except Exception as e:
            print("[X] Error Saving Values to Database : " + str(e))
            return False

    def get(self , key):
        try:
            return self.db[key]
        except KeyError:
            print("No Value Can Be Found for " + str(key))  
            return False

    def delete(self , key):
        if not key in self.db:
            return False
        del self.db[key]
        self.dumpdb()
        return True
. . . . 

установить Функция состоит в том, чтобы добавить данные в базу данных, поскольку наша база данных представляет собой простую базу данных на основе клавиш, на основе ключей, мы возьмем только ключ и ценность как аргумент. Во -первых, мы постараемся добавить ключ и значение в базу данных, их сохранить базу данных, если все пойдет правильно, он вернет истинное, оно напечатает сообщение об ошибке и вернет false (мы не хотим, чтобы она сбоя и стереть наши Данные каждый раз, когда происходит ошибка 😎).

. . . .
    def get(self, key):
        try:
            return self.db[key]
        except KeyError:
            return False
. . . .

получить это простая функция, мы принимаем ключ В качестве аргумента и попытаться вернуть значение, связанное с ключом из базы данных, другие false возвращаются с помощью сообщения.

. . . .
    def delete(self , key):
        if not key in self.db:
            return False
        del self.db[key]
        self.dumpdb()
        return True

. . . .

Удалить Функция – удалить ключ, а также его значение из базы данных. Сначала мы убедимся, что ключ присутствует в базе данных, если не возвращаем False, в противном случае мы удаляем ключ со встроенным del который автоматически удаляет значение ключа. Затем мы сохраняем базу данных и возвращаем False.

Теперь вы можете подумать, что, если бы я создал большую базу данных и захочет сбросить ее? Теоретически, мы можем использовать Удалить Но это не практично, а также очень много времени! ⏳ ⏳ Таким образом, мы можем создать функцию для выполнения этой задачи …

. . . . 

    def resetdb(self):
        self.db={}
        self.dumpdb()
        return True
. . . .

Вот функция для сброса базы данных, Resetdb ! Это так просто, сначала мы делаем, это повторно уценить нашу базу данных в памяти с пустым объектом JSON и просто сохраняет ее! Вот и все! Наша база данных теперь снова чистая бритая!

Полный источник здесь 👉 Bauripalash/foobardb

Это друзья! Мы создали наши собственные База данных игрушек !! 🎉 🎉 На самом деле Foobardb Это просто простая демонстрация базы данных, это как дешевая игрушка DIY, вы можете улучшить ее любым способом! Вы также можете добавить много других функций в соответствии с вашими потребностями!

Надеюсь, тебе понравилось! Дайте мне знать ваши предложения, идеи или ошибки, которые я сделал в комментариях ниже! 👇

Следуй/пинг меня В социальных сетях 👉 Facebook , Twitter , Instagram

Спасибо! До скорого!

Если вам нравятся мои работы (мои статьи, истории, программное обеспечение, исследования и многое другое) рассмотрим Купить мне кофе ☕ 🤗

Оригинал: “https://dev.to/bauripalash/write-a-simple-toy-database-in-python-within-minutes-3e8o”