Python SQLite #2: подключение к БД, создание и удаление таблиц

  Рет қаралды 96,394

selfedu

selfedu

Күн бұрын

Пікірлер: 114
@ЕвгенийИрдеев
@ЕвгенийИрдеев 2 жыл бұрын
Благодаря Вам держатся все джуны и ,возможно, мидлы!Спасибо Вам бесконечное!
@NevilLongbottom-fh6vn
@NevilLongbottom-fh6vn 3 жыл бұрын
господи какой же ты красавчик что не ленишься монтажить и вырезаешь моменты как что то записываешь
@Lucerbius
@Lucerbius 9 ай бұрын
Полезные уроки. 11:30 - Просто F5 надо нажимать, а не переокрывать базу данных.
@daniilepifantsev9901
@daniilepifantsev9901 4 жыл бұрын
Очень крутой и ёмкий урок! Спасибо огромное!
@Alcoholdehydrogenas
@Alcoholdehydrogenas Жыл бұрын
Спасибо, Сергей, за курс по SQLite
@orazovdidar
@orazovdidar 8 ай бұрын
Спасибо за то, что вы есть 🤝🏼
@alex_satan
@alex_satan 3 жыл бұрын
Топчик, какой еще поискать) Автору респект и творческих успехов)
@Максим-ь1ш9х
@Максим-ь1ш9х Жыл бұрын
Спасибо большое за урок. Очень понятно обьясняете😊
@АлександрКаптуров-с8и
@АлександрКаптуров-с8и 7 ай бұрын
Очень куртой и интересный урок!
@2000Vladik
@2000Vladik 4 жыл бұрын
Спасибо за информативный контент))
@mrjustin3770
@mrjustin3770 6 ай бұрын
вау бро, спасибо тебе за урок, буду учиться на тебе, еще раз спасибо большое
@АлексейБузуленков
@АлексейБузуленков 2 жыл бұрын
Серега ты молодцом! Кстати на степике подключили модули Jinja, Flask и Django ) Успехов! )
@АнатолийКузнецов-ж6б
@АнатолийКузнецов-ж6б 2 жыл бұрын
Спасибо! Круто! Буду оставлять коменты под каждым видео)
@YouriKhadikov
@YouriKhadikov Жыл бұрын
У кого-то может возникнуть проблема, что в коде что-то поменяли, но SQL открывается с старыми параметрами. Дело в том, что автор урока предложил отличную подушку безопасности с помощью with, чтобы вдруг что, какая то ошибка или еще чего нибудь, то база закрылась сама, предотвращая утечку, но не забудьте прописать закрытие и без этой ошибки, то есть в самом низу дописать в данном случае "con.commit()"
@Johniooooo
@Johniooooo 4 жыл бұрын
переоткрывать базу в sqlitebrowser можно на F5 (хотя именно кнопки такой там нигде нет))
@dmytrosevko8774
@dmytrosevko8774 3 жыл бұрын
Ставлю лайки и пишу комментарии )))
@valver8362
@valver8362 2 жыл бұрын
Очень бы хотелось увидеть Python & PostgeSQL
@Потрошитель-м1д
@Потрошитель-м1д 4 жыл бұрын
Огромное вам спасибо
@datorikai9911
@datorikai9911 4 жыл бұрын
Super, thanks
@inquisitor_okabe
@inquisitor_okabe 2 жыл бұрын
Небольшая подсказка тем, кого смущает "Закрывать и открывать БД" ручками, чтобы посмотреть что поменялось: CTRL + R, товарищи.))
@DimitryArsenev
@DimitryArsenev Жыл бұрын
Ааа... Нафиг мне питон? Нафиг нафиг? Кому непонятен мой коммент - данное видео выходит в топе по запросу sqlite уроки.
@jamjam3337
@jamjam3337 Жыл бұрын
👏👍
@АлексейАлексеев-ц8х9т
@АлексейАлексеев-ц8х9т Жыл бұрын
Сергей, а в чём смысл присваивать столбцам типы данных, если легко проходит присваивание "арара" в столбец old, с типом INTEGER ?
@gayratsaidakhmedov5451
@gayratsaidakhmedov5451 10 ай бұрын
спасибо
@aliy984
@aliy984 2 жыл бұрын
Perfect
@PhilippTemkin
@PhilippTemkin 3 жыл бұрын
Годненько !
@KainAdamsoff
@KainAdamsoff Жыл бұрын
Надо будет вернуться под первое видео и там лайк с комментом поставить... ибо я забыл)
@ayanakozhi
@ayanakozhi 7 ай бұрын
3: 06 открываю базу данных и не видно файла которое я сделал что можно сделать?
@НиколайВоронин-о7ъ
@НиколайВоронин-о7ъ 3 жыл бұрын
Как можно, что-то не понять, после того, как тебе (мне) так скурпулёзно всё объясняют!? Спасибо!
@GohaBed
@GohaBed 2 жыл бұрын
учусь в SQLite3 и, кажется, что только у меня не работает "автоматика" для PRIMARY KEY AUTOINCREMENT
@oychallenge
@oychallenge 10 ай бұрын
+++++++++++++
@oychallenge
@oychallenge 10 ай бұрын
это была ошибка в синтаксисе! Я решил import sqlite3 as sq with sq.connect("saper.db") as con: cur = con.cursor() #cur.execute("DROP TABLE IF EXISTS users") cur.execute("""CREATE TABLE users( user_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, sex INTEGER NOT NULL DEFAULT 1, old INTEGER, score INTEGER )""")
@ibrahimoglu
@ibrahimoglu 3 жыл бұрын
👍
@YbisZX
@YbisZX 3 жыл бұрын
​ @selfedu Проблемка! Контекст-менеджер не закрывает файл БД в sqlite3. Сделал как в видео: открытие и запись в блоке with. Но после завершения скрипта файл базы данных не удалить, пишет: "файл открыт в python". Но если после блока with вставить (или после в консоли выполнить) con.close() - то уже можно закрыть. Похоже, нет там метода __exit__(), или в нем не предусмотрено закрытие файла.
@selfedu_rus
@selfedu_rus 3 жыл бұрын
странно, я, конечно это не проверял, доверился документации
@YbisZX
@YbisZX 3 жыл бұрын
@@selfedu_rus Посмотрел документацию... Там прямо сказано, что менеджер контекста только commit() (или rollback() при ошибке) выполняет, а закрывать надо вручную! Смотри: docs.python.org/3.8/library/sqlite3.html - в самом конце.
@selfedu_rus
@selfedu_rus 3 жыл бұрын
@@YbisZX да, верно, спасибо!
@naklikal
@naklikal 2 жыл бұрын
Это важная заметка, спасибо.
@igorzoubets1887
@igorzoubets1887 Жыл бұрын
Хотел попробовать. У меня Pycharm c SQLiteBrowser не совмещается. Хотя 3 года прошло. Всё устарело.
@ВалерийЖмышенко-ъ4ц
@ВалерийЖмышенко-ъ4ц 7 ай бұрын
10:30 Секс не может бытт нот Null, не может быть.... секс не может быть нот налл, не может....
@sergeykropachev4792
@sergeykropachev4792 10 ай бұрын
чтобы изменения в виде ограничений "NOT NULL/ DEFAULT 1" появились. Приходиться весь файл saper.db удалять и создавать новый. При чём не через ДРОП тэйбл удалять, а прямо в ручную файл в папке только если удалишь. Почему так ? А по простому как в видео не робит.
@КалинаГаврикова-б2о
@КалинаГаврикова-б2о Жыл бұрын
я честно хз что делать, уже два дня пытаюсь понять бд не видит файл питона, они находятся в одной директории, написано все как у вас, но файл тупо не видит
@Kellermans-p5r
@Kellermans-p5r Жыл бұрын
Подскажите пожалуйста, а что это за язык? Ещё не изучал БД. У БД свой какой то язык, или ее можно написать на любом языке, в данных видео напр Python?
@selfedu_rus
@selfedu_rus Жыл бұрын
SQL - язык для работы с реляционными БД
@Kellermans-p5r
@Kellermans-p5r Жыл бұрын
@@selfedu_rus он один и тот же в программах MySQL, SQLite, Post..какой то ?)
@selfedu_rus
@selfedu_rus Жыл бұрын
немного различаются, т.к. возможности в БД разные
@ЕвгенийИрдеев
@ЕвгенийИрдеев 2 жыл бұрын
ВОПРОС! ROWID отображается только во вкладке SQL?Первичным ключом является user_id.Для чего нужен ROWID?Что бы показать порядковый элемент в колонке?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
он автоматически добавляется в таблицу самой СУБД и может быть использован в запросах. Но лучше создать свой примари кей и работать через него
@ЕвгенийИрдеев
@ЕвгенийИрдеев 2 жыл бұрын
@@selfedu_rus Понял!Спасибо!
@O_Hat
@O_Hat 5 ай бұрын
Открыть и закрыть базу. Попробуй тыкнуть F5)
@WolfKrugerr
@WolfKrugerr 2 жыл бұрын
У меня почему-то не создалась база данных.
@iprogrammist2275
@iprogrammist2275 2 жыл бұрын
Вместо того, чтоб закрывать и снова открывать базу данных можно нажать "ctrl + r" как в обычном браузере и список таблиц обновится.
@cerber3583
@cerber3583 Жыл бұрын
Возникла такая проблема: код 1 в 1 как в видео, но изменения не сохраняются. Условно, когда я добавляю новый столбец, например, как в видео, user_id, он не появляется в базе данных даже после её нескольких перезапусков в DB Brouser. При этом программа работает корректно и без ошибок. Как быть?
@dmitrykorzhenko351
@dmitrykorzhenko351 11 ай бұрын
Если еще актуально) столкнулся с той же проблемой. в итоге в DB Browser выбрал свою таблицу и нашел команду модифицировать, и там уже вручную забил как нужно. возможно данные из видео уже немного устарели, и теперь нужно иначе действовать. я писал код в pycharm м.б. в этом дело.
@Меняемпривычки
@Меняемпривычки 2 жыл бұрын
А как вы многострочный комментарий делаете, скажите пожалуйста?
@dinrav
@dinrav 2 жыл бұрын
Нажать "кавычки" 3 раза.
@MADAHAKO
@MADAHAKO 4 жыл бұрын
Добрый день! Подскажите, пожалуйста, почему может быть неактивна кнопка "Добавить новую запись". Все шаги делал в точности как и у вас. Заранее спасибо!
@ali_batkuldin
@ali_batkuldin 2 жыл бұрын
У меня было также в начале. Надо расширить поле вправо и она появится
@МсДогдвануля
@МсДогдвануля Жыл бұрын
СПАСИБО)@@ali_batkuldin
@КостяГорохов-б6с
@КостяГорохов-б6с 3 жыл бұрын
Когда написал я cur.execute("DROP TABLE users") возникла ошибка cur.execute("DROP TABLE users") sqlite3.OperationalError: database is locked
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Возможно, у вас файл БД занят другим процессом на компьютере или доступ к нему запрещен (для изменения).
@КостяГорохов-б6с
@КостяГорохов-б6с 3 жыл бұрын
@@selfedu_rus, что то такое читал в интернете, но не понял как это иправить
@КостяГорохов-б6с
@КостяГорохов-б6с 3 жыл бұрын
@@selfedu_rus на следующий день само заработало)
@yorqinbekyuldashev
@yorqinbekyuldashev 2 жыл бұрын
ctrl+s
@ИгорьИванов-м8ф
@ИгорьИванов-м8ф 3 жыл бұрын
А почему в cur.execute где-то тройные двойные - кавычки(например в """CREATE TABLE ...""") где то одинарные?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Это в зависимости от необходимости. Если мы записываем в виде многострочного текста запрос, то тройные, если в виде строки, то обычные двойные или одинарные.
@ВалерияХачатрян-м7щ
@ВалерияХачатрян-м7щ 3 жыл бұрын
Добрый день! Подскажите, пожалуйста, как исправить ошибку " line 4 cur = con.cursor() ^ IndentationError: expected an indented block"?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
IndentationError: expected an indented block = Ошибка отступа. Код должен быть отформатирован.
@ВалерияХачатрян-м7щ
@ВалерияХачатрян-м7щ 3 жыл бұрын
@@selfedu_rus Благодарю!
@paduoaktubhbiumeptb9ik633
@paduoaktubhbiumeptb9ik633 2 жыл бұрын
Здравствуйте, я никак не могу решить проблему, у меня файлы базы данных сохраняются почему-то в папке users, хотя py файл находится в совсем другой директории. Есть ли способ это как-то поменять?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
Напишите в сообщество телеграм-канала, вам помогут.
@YbisZX
@YbisZX 3 жыл бұрын
​ @selfedu Установил DB Browser for SQLite (Version 3.12.1) При создании таблицы users автоматом создает еще одну: sqlite_sequence. Причем она неудаляемая. Это какое-то новшество в SQLite?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
нет, все верно, там хранится служебная информация, не обращайте внимания на нее
@spartv1537
@spartv1537 Жыл бұрын
4:19 ууууффф, мои глаза.. я, похоже, ослеп
@qwertyssl
@qwertyssl 2 жыл бұрын
помогите пожалуйста, когда написал NOT NULL после name TEXT хотел проверить, поменялось ли что, но нет, я сделал все в точности как и в уроке, но у меня просто ничего не поменялось, такое ощущение что база данных никак не взаимодействует с файлом питона
@maxgl8814
@maxgl8814 Жыл бұрын
сделай действия как на видео 1. закрыть таблицу 2. открыть, еще можешь попробовать нажатием shift + r
@ПростоХристианство-ч8з
@ПростоХристианство-ч8з Жыл бұрын
перед созданием бд заново, её нужно сначала удалить
@__str__
@__str__ Жыл бұрын
@@ПростоХристианство-ч8з у меня тоже самое
@YouriKhadikov
@YouriKhadikov Жыл бұрын
@@ПростоХристианство-ч8з У кого-то может возникнуть проблема, что в коде что-то поменяли, но SQL открывается с старыми параметрами. Дело в том, что автор урока предложил отличную подушку безопасности с помощью with, чтобы вдруг что, какая то ошибка или еще чего нибудь, то база закрылась сама, предотвращая утечку, но не забудьте прописать закрытие и без этой ошибки, то есть в самом низу дописать в данном случае "con.commit()"
@YouriKhadikov
@YouriKhadikov Жыл бұрын
@@__str__ У кого-то может возникнуть проблема, что в коде что-то поменяли, но SQL открывается с старыми параметрами. Дело в том, что автор урока предложил отличную подушку безопасности с помощью with, чтобы вдруг что, какая то ошибка или еще чего нибудь, то база закрылась сама, предотвращая утечку, но не забудьте прописать закрытие и без этой ошибки, то есть в самом низу дописать в данном случае "con.commit()"
@sereginkozik7507
@sereginkozik7507 2 жыл бұрын
как посчитать количество строк в таблице чтобы получить число для дальнейшего его сравнения с другим числом?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
агрегирующая функция count() в SQL-запросе
@sereginkozik7507
@sereginkozik7507 2 жыл бұрын
@@selfedu_rus так она выдает ссылку, а её невозможно сравнить с числом. Я только учусь и могу тупить))))) Мне надо если количество записей в таблице > 5, то......
@selfedu_rus
@selfedu_rus 2 жыл бұрын
@@sereginkozik7507 Тут уже детали, как вы делаете - это в телеграм-канал
@sereginkozik7507
@sereginkozik7507 2 жыл бұрын
@@selfedu_rus где найти телеграмм?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
@@sereginkozik7507 в описании канала
@MrBlecs
@MrBlecs 2 жыл бұрын
sqlite3.OperationalError: near "CREATY": syntax error что-бы это значило?
@top1boff224
@top1boff224 2 жыл бұрын
Ты написал вместо "CREATE" как нужно "CREATY"
@norasoul
@norasoul 3 жыл бұрын
Попробовал создать файл как на тайм коде 1:08 в итоге получил ошибку, подскажите пожалуйста Код : import sqlite3 as sq con = sq.connect("no.db") cur = con.cursoк() con.close() ошибка Traceback (most recent call last): File "D:\python\sqll.py", line 2, in con = sq.connect("no.db") sqlite3.OperationalError: unable to open database file
@selfedu_rus
@selfedu_rus 3 жыл бұрын
не может открыть БД, скорее всего не находит файл БД или файл закрыт от доступа
@norasoul
@norasoul 3 жыл бұрын
@@selfedu_rus спасибо за ответ, а подскажите почему файл может быть закрытым для доступа и как это исправить?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
@@norasoul Вы же учитесь программировать? Решите эту задачу самостоятельно :)
@grriimx
@grriimx 3 жыл бұрын
Вдруг еще актуально. Не 'cur = con.cursoк() ' а 'cur = con.cursor()'. Внимательнее)
@antonanton2612
@antonanton2612 3 жыл бұрын
@@grriimx у него не в этом проблема была.
@nikitafromov9269
@nikitafromov9269 3 жыл бұрын
А надо ли добавлять первичный ключ "user_id, в данном случае", если есть rowid? В чем принцип. отличие от primary key, то не понял. Join's можно связать по rowid?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
В SQLite можно и без него.
@Искусствожитьтрезво
@Искусствожитьтрезво 3 жыл бұрын
а какой тип указать если нужно создать колонку под список? формата [1,ab,3]
@selfedu_rus
@selfedu_rus 3 жыл бұрын
текст в формате JSON, например
@Искусствожитьтрезво
@Искусствожитьтрезво 3 жыл бұрын
@@selfedu_rus А можете конкретно подсказать? cur.execute("""CREATE TABLE IF NOT EXISTS User( category TEXT);""") Как тут изменить?
@ruslantarasevich3727
@ruslantarasevich3727 10 ай бұрын
Выдает ошибку кавычек ")" Все проверил уже
@user-matiza
@user-matiza 4 жыл бұрын
У меня вопрос. В программе создаю таблицу, но названия полей пишу кириллицей. В программе DB Browser база данных создается, а вот поля у нее отсутствуют. Исправляю в программе названия полей на английские - все нормально. Названия полей принципиально надо по английски писать? Спасибо.
@selfedu_rus
@selfedu_rus 4 жыл бұрын
думаю да, честно, всегда на англ пишу, про русские даже в голову не приходило, т.к. в программировании негласный стандарт: конструкции языка писать на англ (ну и SQL-запросы тоже)
@user-matiza
@user-matiza 4 жыл бұрын
@@selfedu_rus Спасибо.
@datorikai9911
@datorikai9911 4 жыл бұрын
В property может content?
@КостяГорохов-б6с
@КостяГорохов-б6с 3 жыл бұрын
Звук в видео как будто режет по ушам
@Xelerius
@Xelerius 10 ай бұрын
Когда даже в табличке секс not null
@Alex18Rus
@Alex18Rus Жыл бұрын
что ж ты не сказал, что перед изменением строк таблицы в коде, надо было точно повторить за тобой и удалить ее сначала? ты как бы просто показал, что так можно а дальше как ни в чем не бывало вернул все как есть и начал менять строки. я за 20 минут вырвал у себя на голове несколько десятков волос!
@Alex18Rus
@Alex18Rus Жыл бұрын
вот вижу, дальше-то ты сказал, что надо удалить. Ну что ж, выдранные волосы назад уже не вернуть.
@viktormilukov4766
@viktormilukov4766 2 жыл бұрын
все конечно хорошо, спасибо за уроки, но зачем говорить сначала как делать не нужно ( не правильно) а потом как правильно, я уже запомнил и записал для себя первый вариант, а оказывается он не самый лучший и надо пользоваться вторым, почему нельзя сразу говорить как надо делать
@podgorniy.r
@podgorniy.r 2 жыл бұрын
Я думаю благодарю этому примеру можно наглядно увидеть как происходит весь цикл взаимодействия с БД.
@КсенияМатвеева-ы8б
@КсенияМатвеева-ы8б 4 жыл бұрын
в каталОге, а не в катАлоге!
@andreybelyaev5703
@andreybelyaev5703 4 жыл бұрын
Спасибо огромное!
@rad3
@rad3 Жыл бұрын
Спасибо большое !
번쩍번쩍 거리는 입
0:32
승비니 Seungbini
Рет қаралды 182 МЛН
How to have fun with a child 🤣 Food wrap frame! #shorts
0:21
BadaBOOM!
Рет қаралды 17 МЛН
🎈🎈🎈😲 #tiktok #shorts
0:28
Byungari 병아리언니
Рет қаралды 4,5 МЛН
Solving one of PostgreSQL's biggest weaknesses.
17:12
Dreams of Code
Рет қаралды 223 М.