База данных SQLite в Python. Создание БД, вставка в БД | Базовый курс. Программирование на Python
HTML-код
- Опубликовано: 19 авг 2020
- База данных является самым распространенным видом хранения информации в современном мире. Пришло время узнать, как управлять базами данных с помощью Python. Для начала научимся создавать базу данных и осуществлять вставку новых записей в таблицы базы данных на примере SQLite
• Работа с файлами в Py... - Работа с файлами в Python
sqlitebrowser.org/ - DB Browser for SQLite
#Python #database #sqlite #курс #обучение
Хорошо и доходчиво объяснил, без пропусков и недоговорок. Тепрь бы разобраться, как БД изменять и применять на практике.
Готовлюсь к курсовой, данные видео именно то, что надо! Спасибо автор за подробное и понятное объяснение!
Ты так крут, что всегда отвечаешь на комментарии и даешь эти знания бесплатно 🙊
тут нет никакого подвига. всю эту информацию можно без труда найти в интернете бесплатно. я лишь стараюсь её озвучить более понятными словами, с моей точки зрения. но все равно спасибо за отзыв.
Это просто САМОЕ классное.СПАСИБО
спасибо за отзыв
Спасибо за адекватную подачу материала!
на здоровье
Грамотная и структурированная подача! Уровень!! Спасибо!
спасибо за отзыв
Атлично что именно у тебя есть курс по peewee, ти крутой!!
Спасибо тебе огромное 😊 sqlite browser именно то, что я искала 🎉
Блин, с первых секунд понял- это то что мне нужно ! Гениально !)
очень рад. на здоровье
Отлично ! Ждем от тебя новые видео :)
спасибо за отзыв.
Очень компактно и понятно, спасибо)
на здоровье
Очень хорошая подача материала. Именно через твое видео я стал что то понимать. Спасибо
спасибо за отзыв
Полностью поддерживаю предыдущего оратора...
ты просто топ
ты лучше всего объясняешь из тех ютуберов которых я смотрел
за это сто проц лайк и подписка
продолжай
спасибо за отзыв
так нежно показал мне базу данных, мне так хорошо
You are wonderful, Sir!!!
Thanks a lot:)))))
Как же долго я искал, того кто скажет что файл бд создаётся сам. Я просто счастлив
мне было вообще не трудно ))
Чётко, ясно, быстро - благодарю! Миллион двести тебе лайков! :D
спасибо за отзыв
Спасибо огромное очень помог круто объясняешь
спасибо за отзыв
Спасибо брат!
)) 1 что надо сделать . показать как установить sqlite3 + python на win10 ))
очень годный контент с интересной подачей. с нежного кодера каждый раз ору
спасибо за отзыв
Атмосферно
соглашусь
Спасибо
на здоровье
Ееее я на своей проге сделаю регистрацию))),жаль почему-то на php не получается
У меня такой вопрос. Возможно ли файл созданный в Access конвертировать на SQlite и потом его редактировать с помощью Питона? И в конце концов создать exe?
Спасибо за видео! Подскажи, пожалуйста какое расширение используешь для подсветки синтаксиса запросов?
на здоровье. никакого отдельного расширения не использую. это стандартная атомовская схема подсветки систаксиса
В каких случаях надо использовтаь sql а в каких достаточно csv-файла?
Спасибо за ролики. Очень кратко и вполне доходчиво. Когда мака под рукой нет то учусь на iPhone в Pythonista. Может эта тема будет интересна !?
спасибо за отзыв. да, возможно придется рассмотреть вопрос разработки на мобильных устройствах
👍
спасибо за отзыв
расскажи пожалуйста какую программу вы используете для программировании
Огооонь... Просто лучшие туториалы на этом канале. Спасибо!
Кстати, столкнулся с такой проблемой - не понимаю, а как дебажить код Python в том же Atome например?
В MS Visual Studio это прекрасно делается, но там нет норм linter и kite.
Есть какой то вариант решения?
спасибо за отзыв. В VS Code и с линтером и с Kite всё в порядке. кстати, есть на канале соответсвующее видео. в Атоме наверняка есть что-то подобное, но никаких конкретных рекомендаций дать не могу
@@SweetCoder Понял! Но я про microsoft visual studio, а не vs code. Ладно, в PyCharm есть дебагинг, хоть мне и не нравится пайшарм. Но посмотрю тогда повнисательне что нибудь
DB Browser for SQLite - Для того что б обновить информацию в БД не обязательно открывать заново базу, достаточно перейти на вкладку "Данные" и нажать на значек обновить.
надо будет попробовать
В чем преимущество управлять через синтаксис python по сравнению с интерфейсом db browser?
Спасибо, мне это очень помогло в изучении.
Было интересно, понятно и быстро. Будут видео с подключением к сторонним базам данных?
всему свое время )) спасибо за отзыв
Здравствуйте, у меня такой вопрос, что если залить бота на сервер это будет работать ?
какого бота? на какой сервер? что делает бот?
да, работать будет.
Здравствуйте. Вопрос таков. query4 = """INSERT INTO expenses (name, id) VALUES(4, 'Ошибка')""" почему не выбрасывает ошибку, а нормально присваивает значения? Выше же мы указывали на то, что id INTEGER. Разве это не влияет на тип входящих данных?
база данных не берёт на себя смелость перечить разработчику. если ей прилетают такие данные - sqlite попытается их сконвертировать в нужный тип, а если не удасться - молча их добавит с усталым вздохом "ну надо - так надо". однако на этапе получения данных из базы мы скорее всего получим TypeError ведь будем пытаться использовать строку как int. кстати, если ты попытаешься добавить VALUES(4, '6'), то затем на выходе получишь (6 INT, '4' TEXT), что может сойти за валидные данные. короче, контроль и учёт - дело разработчика
@@SweetCoder Все ясно с этим. Благодарю! Простая подача. Нраица!
@@SweetCoder Дополнительный вопрос, немного не в тему. Возможно у тебя будет возможность/желание сделать видео, или просто ответить:
1) что нужно, по твоему мнению, для junior или около junior по знаниям, чтобы получить работу?
2) Какой проект можно сделать чтобы начинающий мог показать и сказать (ВО! мое творение, и почти не стыдно)
3) Если первый вопрос не совсем правильный, то по другому - каких знаний достаточно чтобы найти первую работу? (твое субьективное мнение, пожалуйста)
может быть и запишу отдельное видео. но если коротко:
1) хорошее понимание базы ЯП (переменные, циклы, массивы, БД, ООП)
2) любой (я когда устраивался на первую работу у меня не было вообще)
3) дело случая. некоторые компании берут на позицию джуна любого у кого есть пальцы, глаза, уши и рот. а вот насколько долго ты проработаешь в такой компании зависит только от твоего желания и усердия
Спасибо за видео! Подскажите пожалуйста , где бы про сами команды sql получше почитать, желательно на русском. Также интересует вопрос, ? - надо обязательно вбивать, что бы избежать инъекций в телеграмм боте хочу запилить БД для сохранения результатов.. Всего доброго)
Бро подскажи принцип как сделать чтобы выдавал qrcode один на язера и чтобы всегда етот код был а транзакцию проверял последную
Подскажите пожалуйста,а sqlite нужно предварительно установить на компьютер?
нет, этот модуль входит в стандартную комплектацию Python
Знаю что не особо в тему но хелп если можешь..
Короче надо авторизоваться в skype, при помощи библиотеки urllib и других стандартных библиотек не прибегая к сторонним. API скайпа юзать можно, и по возможности вывести сообщения из бесед...
Я просто не могу разобраться именно как работать с API скупа )
опыта работы со Skype API у меня нет. но может быть кто-то из зрителей чем-то подсобит.
А как программа называется?
2:37 спасибо, открыл терминал а ты сразу долистал до Fedor(a)-и 😂
Минут 5 разбирался почему у меня не создается файл базы. А потом на stackoverflow в одном из комментариев, а у вас эта папка есть?
Я по ходу пропустил где-то, что перед созданием файла базы, нужно ручками подготовить папку для нее.
Отличный контент, спасибо! Есть ли на канале видео о geolite2? Мой путь: читаю код, натыкаюсь на большое количество peewee, на youtube нахожу видео №4 из этого курса, перехожу на видео 1- вижу sqlite3, проверяю, а у меня в коде geolite2. Вопрос - этот курс поможет разобраться в моей ситуации или нужно искать именно geolite2 + peewee?
спасибо за отзыв. если речь идёт о использовании mmdb формата - то peewee не поможет в принципе. так как может взаимодействовать только с sqlite, mysql, postgresql и cockroachdb. Если гео-сервис может предоставить один из этих sql-форматов - тогда да, общие принципы взаимодействия описываемые в видосах будут полезны
Автор, а можно такое же видео только для MS SQL?
Привет,а можешь ссылку кинуть на это приложение,просто у меня при скачке sqlite3 вылезает другое приложение
Я новичок в питоне. Вопрос, как ты писал код внутри кавычек ? И как там писать так же ? У меня это все отображалось как обычный коммент.
тут никаких хитростей. открываешь кавычки, пишешь код, закрываешь. отображение может отличаться в зависимости от настроек текстового редактора. но это не очень важно. важнее как это воспринимает интерпретатор
Не подскажите, что делать, если синтаксис SQLITE не подсвечивается( например NOT EXISTS)
а) попробуй другие цветовые схемы;
б) попробуй другой текстовый редактор;
в) забей;
День добрый! Не подскажите как избавиться от этой ошибки
with sqlite3.connect('db/database.db') as db:
sqlite3.OperationalError: unable to open database file
Благодарю!
То же самое, смог пофиксить?
Попробуйте убрать название папки, оставить просто название файла.
Спасибо, помогло. Я думал, что и папка тоже создается, как и фал
@@user-cv5lw2xm2c
Здравствуйте, как только я запустила уменя выходит вот это "you don't have an extension for debugging Python. Should we find a Python extension in the Marketplace?" 😅 можете помочь
здравствуйте , прошу прощения я хочу у вас спросить. query = """CREATE TABLE IF BOT EXISTS expenses(id INTEGER, name TEXT)""" вот этот вод ряд у меня не отображается как у вас по типу все считается как обычный текст но не функция и папка expenses не создается ( помогите пожалуйста
query = """ CREATE TABLE IF NOT EXISTS expenses(id INTEGER, name TEXT) """ Привет! Ты NOT в BOT превратил
Здравствуй, как скачать sqlite ?
Небольшой вопрос. А что если я хочу использовать содержимое переменных/списков/словарей в качестве значений? Как мне их записать в значения?
query1 = """ INSERT INTO expenses (title, original_title) VALUES ('firstVar', 'secondVar') """
Или например у меня есть словарь из двух пар ключ/значение: gameInfo = {'name': 'CP 2077', 'year': '2020'}. Я хочу закинуть их в БД. Это можно реализовать?
Заранее спасибо! :)
'firstVar', 'secondVar' - это значения которые ты хочешь записать в базу? или имена переменных? если имена переменных, то просто убери одинарные кавычки вокруг них. чтобы записать в базу данные из словаря, просто передай необходимые тебе значения указав их с помощью ключей
query2 = """ INSERT INTO expenses (title, original_title) VALUES (gameInfo['name'], gameInfo['year']) """
@@SweetCoder да, имена переменных. А пачкой никак нельзя передать значения из словаря? Пробовал через dict.values(dictName), но так не сработало :|
@@mRelby13 sqlite может хранить только 2 (в глобальном смысле) и 4 (в локальном) типа данных. это REAL, INT (укороченный REAL), TEXT, BLOB (по сути тот же TEXT). Хранить словари, списки, кортежи и данные других типов не умеет. Чтобы сохранить данные ты должен передавать либо текст либо число. всё. Реорганизуй код или структуру базы данных, чтобы записывать "пачку" строк или "пачку" чисел. других вариантов нет.
@@SweetCoder либо я не правильно выразился, либо ты не так понял.
albums = [('Exodus', 'Andy Hunter', '7/9/2002', 'Sparrow Records', 'CD'),
('Until We Have Faces', 'Red', '2/1/2011', 'Essential Records', 'CD'),
('The End is Where We Begin', 'Thousand Foot Krutch', '4/17/2012', 'TFKmusic', 'CD'),
('The Good Life', 'Trip Lee', '4/10/2012', 'Reach Records', 'CD')]
cursor.executemany("INSERT INTO albums VALUES (?,?,?,?,?)", albums)
Эта запись позволит мне записать в БД содержимое списка.
А я спросил, можно ли тоже самое сделать, но со словарями.
Ведь по сути такая конструкция:
list(dict.values(dictName)) превратит любой словарь в список, который будет состоять из значений словаря.
а как можно сделать курсивом, жирным и подчёркнутыми отдельные слова в bd?
неужели нет расширений с помощью которых можно заглянуть на базу данных не выходя из Atom?
может и есть
@@SweetCoder как ты умудряешься находить время на ответы каждому комментарию?
Ты классный парень, спасибо
@@SweetCoder таким темпом, скоро будут
Создайте обучалки на телеграм ботов пожалуйста
основываясь на том, что этот комментарий ты оставил под первым (из нескольких) видео по базам данных, я могу предположить, что ты дошел только до него. а это означает, что делать ботов для телеграмма (осознанно, а не просто перепечатывать код с экрана) еще рановато. для начала неплохо было бы познакомиться с сетевыми протоколами и модулями, декораторами и ещё кое чем. всему своё время. step by step
Я смотрю уроки не только у вас)Но а так чем быстрее сделаете бота тем лучше)Заранее спасибо
@@San4ar понял )) учту.
Добрый день, у меня Visual Studio Code при вписании : import sqlite3
with sqlite3.connect('db/database.db') as db:
pass ..выбивает след. ошибку..
Try the new cross-platform PowerShell aka.ms/pscore6
PS C:\Users\Admin\Desktop\db> & C:/Users/Admin/AppData/Local/Programs/Python/Python39/python.exe c:/Users/Admin/Desktop/db/database_sqlite.py
Traceback (most recent call last):
File "c:\Users\Admin\Desktop\db\database_sqlite.py", line 3, in
with sqlite3.connect('db/database.db') as db:
sqlite3.OperationalError: unable to open database file
PS C:\Users\Admin\Desktop\db> ....Помогите пожалуйста разобраться как решить. Заранее спасибо)
насколько я понимаю, c:\Users\Admin\Desktop\db\database_sqlite.py - это местонахождение скрипта, который ты запускаешь. и видимо пытаешься запустить его находясь в c:\Users\Admin\Desktop\db\
следующая ошибка может означать, что в этом рабочем каталоге нет каталога "db", в котором модуль пытается создать/найти файл database.db. Или, если он есть, то скрипту может не хватать прав доступа. Другими словами каталог "db" защищён от записи. Проверь эти моменты
что за знак := , как он работает?
В некоторых языках программирования это знак присваивания. А в Python это ничего не означает
@@SweetCoder С некоторых пор Python также обзавёлся данным оператором - docs.python.org/3.8/whatsnew/3.8.html#assignment-expressions.
Моржовый оператор... О как!
а почему у меня ничего не открывается?
sqlite3.OperationalError: near "CREATY": syntax error
что-бы это значило?
Опечатка у вас, нужно писать CREATE
@@alexnavin8833 Спасибо, глаз замылился.
sqlite3.OperationalError: near "VALUES": syntax error
Что делать?
import sqlite3
with sqlite3.connect("game.db") as db:
cursor =db.cursor()
tableuser = """CREATE TABLE IF NOT EXISTS expenses(Login , Password ) VALUES(1,пони)"""
tableuser2 = """CREATE TABLE IF NOT EXISTS expenses(Login , Password ) VALUES(2,кошак)"""
db.execute(tableuser)
db.execute (tableuser2)
db.commit()
возьми кошака и пони в кавычки
Эмм а что это за прога на которой ты код пишишь?
Visual studio code
это база
(base)
но мы же программисты, мы не ищем легких путей, у нас все через жопу, мы сами себе должны усложнить работу :)
ну так же интереснее
Пока существуешь ты, существует моя надежда на диплом.