Привет напиши: TikTok — Make Your Day
Урок №6.Подключение к базе данных SQLite — Telegram bot с нуля на vc.ru
В этом уроке мы научимся подключаться и работать с базой данных SQLite.
51 просмотров
Почему SQLite?
Эта база данных была выбрана по причине ее простоты настройки и использования. В точно таком же формате на подобии SQLite вы научитесь подключаться к любой другой базе данных, что поддерживает язык python. Это может быть MySQL, PostgreSQL, Oracle, MongoDB и многие другие. Если ваш сайт работает MySQL, то вы легко можете скачать коннектор для питона и подключиться к вашей базе данных. Далее вы сможете выводить ту же информацию, что выводили на сайте.
Подключение к SQLite.
Первое что нам надо сделать это подключить базу данных к нашему проекту. Сама по себе база данных SQLite является встроенной базой данных для языка python, а поэтому нам ничего не нужно дополнительно скачивать, мы сразу можем ее подключить. Для этого прописываем import sqlite3.
Теперь давайте создадим обработчик команды /start, после запуска которой у нас будет создаваться база данных SQLite.Сначала пропишем декоратор для обработки команды /start(@bot.message_handler(commands =[‘start’])). Здесь же мы создаем функцию, например, first. Эта функция будет также принимать параметр message. Теперь давайте выполним создания базы данных. Для этого мы создаем некий новый объект, например, con. Далее обращаемся к нашей библиотеке sqlite3 и через нее обращаемся к функции connect. В эту функцию нужно передать один параметр. По сути это название того файла, который у нас будет создан и где будет храниться полностью вся база данных. Сам файл может называться как угодно, а еще он может имеет абсолютно любое расширение(например, sql, sdf). Теперь у нас будет создаваться файл, и в этом файле будет храниться полностью вся база данных о наших пользователях. Теперь нам нужно создать еще один объект, например, cur. Через него мы и сможем выполнять различные команды, связанные с базой данных.
Создание таблицы и сохранение базы данных в нее.
Теперь давайте создадим в нашей базе данных таблицу, которую в последствии мы будем записывать неких пользователей.
Чтобы создать таблицу, нам нужно выполнить некую sql команду, поэтому мы сразу пропишем метод execute(данный метод позволяет выполнять разные sql команды). Здесь же мы пропишем полностью нашу команду. Мы говорим что хотим создать некую таблицу, но при этом мы будем создавать ее только в случае, если ее еще не существует. Мы будем создавать такую таблицу как users. И далее мы просто пропишем те поля, которые будут внутри самой таблице. Я укажу такие поля, как:
1)id(это будет уникальным идентификатором для каждой нашей записи).Так как это поле будет целым числом, то мы указываем тип данных int, оно будет автоматически изменяться и оно дополнительно является первичным ключом(primary key).
2) name(это будет имя нашего пользователя). Тип этого поля будет varchar(varchar — это строковый или символьный тип данных переменного размера). Длину этого поля мы возьмем, как 50 символов(name varchar(50)).
3) VALUE(это будет деньги, имеющиеся на счету нашего пользователя). Так же укажем тип varchar, длина которого будет тоже 50 символов(VALUE varchar(50))
Ну и суть этой команды заключается в том, что при запуске команды /start мы будем создавать таблицу users с тремя полями id, name, VALUE, и она будет создаваться только в том случае, если такой таблицы еще не существует в нашем файле с базой данных. Сейчас наша команда execute она еще не выполнит создание нашей таблицы. То есть она подготавливает sqlite команду. Чтобы нам выполнить создание таблицы, и чтобы она была добавлена в файл с базой данных, нам необходимо обратиться к объекту con, и здесь мы должны прописать такую функцию, как commit(эта функция синхронизирует все изменения) и теперь все наши изменения будут сохраняться в базе данных.
Получается у нас как только пользователь введет свое имя, то будет срабатывать следующая функция.
Эта функция будет также принимать один параметр message. B самой функции мы должны получать тот текст, который был введен пользователем и записывать его в некую переменную. Поэтому создадим в функции некую переменную, например, name. Тут мы обращаемся к message.text. strip() (функция strip позволяет удалить нам пробелы до и после текста). И теперь давайте также создадим текст, который будет получать наш пользователь. В этой функции мы получили имя пользователя и записали его в переменную name, и отправили пользователю текстовое сообщение.
Давайте запустим программу и посмотрим что у нас получилось. После запуска программы у нас появляется наша созданная папка, где и храниться наша база данных. Теперь когда пользователь будет писать имя и счет, то программа будет автоматически сохранять их в базу данных.
На этом мы пока остановимся. Продолжим работу с базой данных на следующем уроке.
После каждого урока вы можете заходить на моего telegram бота, чтобы посмотреть результат работы, после каждого урока: http://t.me/pythonte1egram_bot.
А также вы можете подписаться на telegram канала, где будут выкладываться все коды на python с моих уроков, а также сами уроки: https://t. me/pythotelegram.
Интерактивный учебник языка Python
Занятие 1. Ввод и вывод данных
Python 3 — это современный язык, на котором просто и приятно писать программы.
Для печати значений в Питоне есть функция print(). Внутри круглых скобок через запятую мы пишем то, что хотим вывести. Вот программа, которая делает несколько вычислений:
print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # две звёздочки означают возведение в степень print(37 / 3) # один слэш — это деление с ответом-дробью print(37 // 3) # два слэша считают частное от деления нацело # это как операция div в других языках print(37 % 3) # процент считает остаток от деления нацело # это как операция mod в других языках
Для ввода данных в программу мы используем функцию input()
. Она считывает одну строку.
Вот программа, которая считывает имя пользователя и приветствует его:
print('Как вас зовут?') name = input() # считываем строку и кладём её в переменную name print('Здравствуйте, ' + name + '!')
Мы будем писать программы, которые считывают данные, перерабатывают их и выводят какой-то результат.
Попробуем написать программу, которая считывает два числа и выводит их сумму. Для этого считаем два числа и сохраним их в переменные a
и b
, пользуясь оператором присваивания =
. Слева от оператора присваивания в программах на Питоне ставится имя переменной — например, строка из латинских букв. Справа от оператора присваивания ставится любое выражение. Имя станет указывать на результат вычисления выражения. Проиграйте эту программу и посмотрите на результаты её работы:
a = input() b = input() s = a + b print(s)
Мы видим, что программа выводит 57
, хотя в реальной жизни 5 + 7
будет 12
. Это произошло потому, что Питон в третьей строчке «сложил» две строки, а не два числа. В Питоне две строки складываются так: к первой строке приписывается вторая.
Обратите внимание, что в визуализаторе содержимое переменных a
и b
заключено в кавычки. Это означает, что в
a
и b
лежат строки, а не числа.
В Питоне все данные называются объектами. Число 2 представляется объектом «число 2», строка
– это объект «строка 'hello'
».
Каждый объект относится к какому-то типу. Строки хранятся в объектах типа str
, целые числа хранятся в объектах типа int
, дробные числа (вещественные числа) — в объектах типа float
. Тип объекта определяет, какие действия можно делать с объектами этого типа. Например, если в переменных first
и second
лежат объекты типа int
, то их можно перемножить, а если в них лежат объекты типа str
, то их перемножить нельзя:
first = 5 second = 7 print(first * second) first = '5' second = '7' print(first * second)
Чтобы преобразовать строку из цифр в целое число, воспользуемся функцией int()
. Например, int('23')
вернет число 23
.
Вот пример правильной программы, которая считывает два числа и выводит их сумму:
a = int(input()) b = int(input()) s = a + b print(s)
Ссылки на задачи доступны в меню слева. Эталонные решения теперь доступны на странице самой задачи.
Hello Writer
Свиток
Обнаружить
Подписаться
Каждый месяц вы будете получать в своем почтовом ящике красивую красочную посылку, в которой будет:
Connection
Вы получите письмо от меня, Криса, вашего тренера по писательскому мастерству. Я буду предлагать истории и идеи о том, что я узнаю о писательстве, когда я преодолеваю уязвимость и радость своего собственного творческого процесса. Чтобы получить представление о моем голосе и стиле письма, смотрите здесь.
Направление
Вы получите два веселых, простых проекта, каждый в отдельном запечатанном конверте. Они небольшие и расширяемые — вы можете сделать их за 10 минут или работать над ними целый месяц. Они также будут ВЕСЕЛЫМИ — вы будете резать вещи, включать случайные объекты в истории, писать людям.
Инструкция
Каждый месяц вы также будете получать восхитительное задание по уходу за собой от писателя, чтобы вовлечь свое тело и сердце в процесс творчества.
Угощения
Писать трудно, а угощения важны. Каждый месяц вы будете получать что-то дополнительное; стихотворение, предназначенное для рамки, открытка с подтверждением, наклейка… Немного, чтобы напомнить вам, что творчество, удовольствие и красота связаны.
Возврат
За каждые 20 подписок мы жертвуем 3-месячную подписку тем, кто не может себе этого позволить. Каждый год часть нашей прибыли идет в пользу коренных народов в защиту климата, чтобы вернуть их земле.
По правде говоря, вы
писатель. Этот набор будет возвращать вас к этой сладкой истине снова и снова, с радостью, мыслями и весельем, каждый месяц.
Открывая эту красивую упаковку, я чувствовал себя таким взрослым удовольствием. Мне не хватало вдохновения, чтобы писать, этот пакет снова зажег меня, а подсказки побуждали меня использовать новые идеи. Это было похоже на то, как если бы тайный любовник прислал мне самую лучшую интимную почту, красивую, нежную и что-то специально для меня.— Хизер Уотсон
Получение моей посылки Hello Writer по почте вызвало на моем лице такую улыбку, которая только усилилась, когда я открыл конверт и просмотрел его содержимое. Было так приятно получать забавные маленькие вкусности, а также упражнения, которые я обычно делал только в классе Firefly. Выполнение этих упражнений дома означало, что я мог проводить столько времени или меньше, сколько хотел, и это было настоящей радостью, играя со словами в свободное время.— М.К. ШоуНе могу дождаться, чтобы увидеть, что еще будет.
Кто не любит получать почту! Но это НАМНОГО больше: открыть конверт Hello Writer — это все равно, что открыть посылку от самого поддерживающего, вдохновляющего и заботливого друга, который у вас есть… друга, который крепко обнимает вас И подталкивает вперед; друг, который просто хочет, чтобы вы продолжали исследовать свою творческую душу.— Сабрина Герин
Получать почту всегда волнительно, и вдвойне приятно, когда она приходит от Firefly!— Кэт Дирхэм
«Мое сердце чуть не взорвалось от письма к нам. Ты нечто иное!— Хизер Дуглас
Спасибо за то, что подпитываете мое писательство и мою писательскую сущность.— Николь Арнольд
Присоединяйтесь, когда захотите. Если вы спросите нас, сегодня отличный день… но вы все контролируете. Если вы зарегистрируетесь до последнего дня месяца, вы получите пакет на следующий месяц.
Подписаться
Эта услуга по подписке предназначена для людей, которые:
- Имеют желание писать, которое часто остается незамеченным или не удовлетворяется
- Иногда (или всегда) нуждаются в небольшом руководстве, чтобы заставить свои ручки двигаться
- Высоко ценят красоту, заботу, любовь к деталям и горький шоколад
- Скучают по ощущению глядя на свой почтовый ящик с радостным предвкушением
- Стремятся воссоединиться с радостью и силой собственного письма, своим собственным видением, своей собственной истиной
- Им трудно вырезать огромные отрезки времени, но они все же хотят сохранить свои творческие голоса живыми и активными
- Хотите снова получать удовольствие от письма — быть спонтанными, легкими, любопытными и настроенными на удивление
Эта служба подписки не буду пытаться дать вам:
- Критика вашего письма.
Каждый месяц мы будем публиковать две статьи с комментариями о том, что делает их такими замечательными (вы можете присылать свои работы), но мы не отвечаем на каждую поступившую статью.
- Направление, как пройти через большой проект. Мы делаем эти личные и сложные вещи на семинарах и через коучинг.
- Правила и практические советы — вы умнее правил, и когда вы пишете, ваше письмо улучшается.
- Помогите написать то, что вы не хотите писать. Вы вряд ли получите отчет на конец года с помощью этих пакетов. Но кто знает, немного вдохновения может привести вас в неожиданные места.
Подпишитесь сегодня
«Спасибо за этот прекрасный конверт, полный разрешений. Мое сердце екнуло, когда я увидел его в почтовом ящике, между листовками и счетами. Hello Writer как будто напоминает мне, что да, я могу вписать это в свою жизнь и писать с радостью и игривостью.— Эрика Бейли
Какое удовольствие получать по почте что-то, созданное для пробуждения творчества и радости. Сидеть с моими материалами Hello Writer было похоже на приключение. Мне понравилось все!— Дениз Хэндларски
«Этот пакет был похож на путешествие пробуждения для голоса, который слишком долго колебался во мне. Сначала с трогательным письмом от Криса, затем с практическими упражнениями по творческому письму и, наконец, со списком возможностей поучаствовать в литературном мире. Это разогреет ваше воображение.— Шок Алани
Автор «Hello Beautiful» Энн Наполитано делится своими писательскими советами
Вы когда-нибудь мечтали написать собственные мемуары или роман? Вы часами думаете об этом, но никак не можете найти время или вдохновение, чтобы взяться за клавиатуру? Или вы попали на определенную страницу и застряли — снова и снова? Попробуйте этот совет от Энн Наполитано, которая использовала его не только для своего последнего романа «9». 0107 Hello Beautiful, , который является сотым выбором Книжного клуба Опры, но три предыдущих, включая Дорогой Эдвард .
1. Количество, количество, количество
Пишите как можно чаще. Даже если вы можете писать только пять минут в день, делайте это. Чем больше историй вы напишете и чем больше персонажей создадите, тем сильнее вы будете чувствовать свои сильные и слабые стороны. Есть замечательная цитата Исака Динесена: «Пиши понемногу каждый день, без надежды и без отчаяния».
2. Позвоните своему другу на берегу реки
Найдите читателя (или читателей), которые будут добры и рассказать вам правду о вашей работе. Независимо от того, насколько вы талантливы или опытны, вам нужна еще одна пара глаз, чтобы сказать вам, что вы делаете плохо, а что хорошо. Вы находитесь в реке с работой, и вам нужен кто-то на берегу реки, чтобы окликнуть: Идите налево, впереди водопад; помедленнее здесь и т. д. Две писательницы, с которыми я учился в аспирантуре, — Хелен Эллис и Ханна Тинти (посмотрите их потрясающие книги!) — первыми читают все, что я пишу. Но, возможно, ваш партнер, сестра или друг-адвокат могут стать для вас идеальным читателем.
3. Выберите легкий путь
Всякий раз, когда я застреваю в рассказе и возникает повествовательная проблема, которую я не знаю, как решить, я слышу, как моя подруга Хелен спрашивает: Как выглядит самое простое решение? Этот вопрос оказался невероятно полезным для меня на протяжении многих лет. Например, предположим, вы пишете о паре, которая, как вы знаете, должна расстаться, но одна из них не склонна к конфликту, а мать другого персонажа только что появилась, и вы думаете, что, поскольку эта сцена сложная, значит, и ответ должен быть сложным (это ловушка, в которую я часто попадаю). Но первый шаг — просто ответить на вопрос Хелен: Какое самое простое решение, которое приведет к их разрыву? Скорее всего, это один из персонажей, говорящий: «Я больше не хочу быть с тобой». Теперь, чтобы внести ясность, это может быть неверный ответ для вашей истории и ваших персонажей, но часто бывает . И даже если это не так, это обычно полезно для планирования вашего следующего шага.
Hello Beautiful: роман
Hello Beautiful: роман
Купить на Amazon
4. Используйте магнитную доску
Когда я преподаю художественную литературу, я всегда говорю своим ученикам обращать внимание на свои навязчивые идеи. Я предлагаю им представить, что у каждого из нас внутри есть специально откалиброванная магнитная доска, и что мы должны обращать внимание на то, что ударяет по нашей доске. Какие статьи вы читаете? Какие фотографии вы вырываете из журналов? Какие вопросы вы рефлекторно думаете, когда закрываете глаза ночью? Ваша магнитная доска откалибрована иначе, чем доска вашего партнера, лучшего друга или даже вашей сестры-близнеца. И крайне важно, чтобы вы намеренно слушали то, что бьется о вашу доску, потому что мир такой шумный.