Страницы

Поиск по вопросам

четверг, 19 декабря 2019 г.

Выбор базы данных для новичка в Python и БД [закрыт]

#mysql #python #база_данных #postgresql #python_3x


        
             
                
                    
                        
                            Закрыт. На этот вопрос невозможно дать объективный ответ.
Ответы на него в данный момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Update the question so it
can be answered with facts and citations by editing this post.
                        
                        Закрыт 3 года назад.
                                                                                
           
                
        
Слышал много про разные типы базы данных от кажется SimpleBD (в одном файле), до
MySQL, Postgresql. Как они работают (в целом со стороны) я понимаю на уровне пользователя.
Но вот язык общения с ними (sql запросы для меня почти темный лес). Хочется иметь несложную
в настройке\администрировании БД, к которой легко писать запросы из python скрипта,
получать данные, загружать данные. Все это нужно для обучения, личного\рабочего использования,
не направленного на масс-use (высоко-нагруженные сайты). 

Вопрос: Поделитесь опытом с какой из БД и библиотекой в python проще всего взаимодействовать
с данными для новичка, что бы не вылазило по 10-20 ошибок, из за сложного синтаксиса
запросов в котором нужно очень долго разбираться. Правильно ли я понимаю что самая
распространенная это MySQL и под нее можно найти больше примеров\видео уроков?
    


Ответы

Ответ 1



Собственно всё, что нужно знать для работы с SQLite: ### SQL QUERIES ### selAll = "SELECT * FROM tasks" createCommand = """ # Создать таблицу CREATE TABLE tasks ( id INTEGER PRIMARY KEY, 'Задача' NVARCHAR(1000), 'Подзадача' NVARCHAR(1000), 'Сотрудник' NVARCHAR(50), 'Дата' DATE, 'Статус' NVARCHAR(200), 'Коммент' NVARCHAR(1000), 'Тек статус' NVARCHAR(30), 'Осталось' INTEGER );""" searchText = """ # Искать в таблице SELECT * FROM tasks WHERE Задача like "%{kword}%" OR Подзадача like "%{kword}%" OR Сотрудник like "%{kword}%";""" insertText = """ # Внести новые данные в таблицу INSERT INTO tasks (ID, 'Задача', 'Подзадача', 'Сотрудник', 'Дата', 'Статус', 'Коммент', 'Тек статус' ) VALUES (NULL, "{tsk}", "{stsk}", "{prsn}", "{dt}", "{stts}", "{cmt}", "{crsts}" );""" deleteText = "DELETE FROM tasks WHERE ID = {key}" # Удалить некоторые данные updateText = """UPDATE tasks # Отредактировать данные SET 'Задача'="{tsk}", 'Подзадача'="{stsk}", 'Сотрудник'="{prsn}", 'Дата'="{dt}", 'Статус'="{stts}", 'Коммент'="{cmt}", 'Тек статус'="{crsts}" WHERE ID = {key};""" Использование в Питоне. Создание таблицы: connection = sqlite3.connect(dbfile) cursor = connection.cursor() try: cursor.execute(createCommand) except sqlite3.OperationalError: pass Вставка данных из словаря (newRecordDict) в таблицу: insertCommand = insertText.format( tsk=newRecordDict["Задача"], stsk=newRecordDict["Подзадача"], prsn=newRecordDict["Сотрудник"], dt=newRecordDict["Дата"], stts=newRecordDict["Статус"], cmt=newRecordDict["Коммент"], crsts=newRecordDict["Тек статус"] ) cursor.execute(insertCommand) connection.commit()

Ответ 2



Самый простой для вас путь, это использовать SQLite. Хорошая система для новичка, не требует познаний в администрировании, проста для установки и использования. SQL знать нужно в любом случае, так что запаситесь терпением и изучайте по мере движения вперёд. Даже переехав под ORM Джанги, знания кухни SQL вам пригодятся. MySQL одна из распространённых баз, равно как и Postgresql и уроков для этих баз множество. Выбор базы для проекта определяется требованием к надежности хранения, скорости работы и т.д. Сейчас забивать голову этим смысла нет. Постепенно понимание что нужно придёт само.

Комментариев нет:

Отправить комментарий