Урок №6.Подключение к базе данных SQLite

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

В этом уроке мы научимся подключаться и работать с базой данных SQLite.

Почему SQLite?

Эта база данных была выбрана по причине ее простоты настройки и использования. В точно таком же формате на подобии SQLite вы научитесь подключаться к любой другой базе данных, что поддерживает язык python. Это может быть MySQL, PostgreSQL, Oracle, MongoDB и многие другие. Если ваш сайт работает MySQL, то вы легко можете скачать коннектор для питона и подключиться к вашей базе данных. Далее вы сможете выводить ту же информацию, что выводили на сайте.

Подключение к SQLite.

Первое что нам надо сделать это подключить базу данных к нашему проекту. Сама по себе база данных SQLite является встроенной базой данных для языка python, а поэтому нам ничего не нужно дополнительно скачивать, мы сразу можем ее подключить. Для этого прописываем import sqlite3.

Создание базы данных SQLite.

Теперь давайте создадим обработчик команды /start, после запуска которой у нас будет создаваться база данных SQLite.Сначала пропишем декоратор для обработки команды /start(@bot.message_handler(commands =['start'])). Здесь же мы создаем функцию, например, first. Эта функция будет также принимать параметр message. Теперь давайте выполним создания базы данных. Для этого мы создаем некий новый объект, например, con. Далее обращаемся к нашей библиотеке sqlite3 и через нее обращаемся к функции connect. В эту функцию нужно передать один параметр. По сути это название того файла, который у нас будет создан и где будет храниться полностью вся база данных. Сам файл может называться как угодно, а еще он может имеет абсолютно любое расширение(например, sql, sdf). Теперь у нас будет создаваться файл, и в этом файле будет храниться полностью вся база данных о наших пользователях. Теперь нам нужно создать еще один объект, например, cur. Через него мы и сможем выполнять различные команды, связанные с базой данных. Чтобы его создать мы обращаемся к нашему предыдущему объекту и вызываем такую функцию, как cursor. Теперь мы можем создавать необходимый нам файл, в котором у нас будет храниться вся база данных.

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Создание таблицы и сохранение базы данных в нее.

Теперь давайте создадим в нашей базе данных таблицу, которую в последствии мы будем записывать неких пользователей.

Чтобы создать таблицу, нам нужно выполнить некую sql команду, поэтому мы сразу пропишем метод execute(данный метод позволяет выполнять разные sql команды). Здесь же мы пропишем полностью нашу команду. Мы говорим что хотим создать некую таблицу, но при этом мы будем создавать ее только в случае, если ее еще не существует. Мы будем создавать такую таблицу как users. И далее мы просто пропишем те поля, которые будут внутри самой таблице. Я укажу такие поля, как:

  • id(это будет уникальным идентификатором для каждой нашей записи).Так как это поле будет целым числом, то мы указываем тип данных int, оно будет автоматически изменяться и оно дополнительно является первичным ключом(primary key). То есть это стандартное поле, которое должно быть в любой таблице базы данных. За счет этого поля мы сможем выбирать конкретные записи и взаимодействовать с ними(id int auto_increment primary key).

  • name(это будет имя нашего пользователя). Тип этого поля будет varchar(varchar - это строковый или символьный тип данных переменного размера). Длину этого поля мы возьмем, как 50 символов(name varchar(50)).

  • VALUE(это будет деньги, имеющиеся на счету нашего пользователя). Так же укажем тип varchar, длина которого будет тоже 50 символов(VALUE varchar(50))

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Ну и суть этой команды заключается в том, что при запуске команды /start мы будем создавать таблицу users с тремя полями id, name, VALUE, и она будет создаваться только в том случае, если такой таблицы еще не существует в нашем файле с базой данных. Сейчас наша команда execute она еще не выполнит создание нашей таблицы. То есть она подготавливает sqlite команду. Чтобы нам выполнить создание таблицы, и чтобы она была добавлена в файл с базой данных, нам необходимо обратиться к объекту con, и здесь мы должны прописать такую функцию, как commit(эта функция синхронизирует все изменения) и теперь все наши изменения будут сохраняться в базе данных. Давайте еще допишем, что мы будем закрывать соединение с базой данных. Таким образом при запуске команды /start мы открываем соединение с базой данных, выполняем некую команду и синхронизируем ее, а дальше мы закрываем соединение с базой данных. В конце же давайте же будем выводить сообщение пользователю(bot.send_message(message.chat.id, 'Привет! Напиши свое имя'). Далее давайте зарегистрируем следующую функцию, которая должна у нас срабатывать. Для регистрации метода напишем bot.register_next_step_handler(). В эту функцию мы передаем параметр message, а также указываем какая следующая функция у нас будет срабатывать.

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

Эта функция будет также принимать один параметр message. B самой функции мы должны получать тот текст, который был введен пользователем и записывать его в некую переменную. Поэтому создадим в функции некую переменную, например, name. Тут мы обращаемся к message.text.strip() (функция strip позволяет удалить нам пробелы до и после текста). И теперь давайте также создадим текст, который будет получать наш пользователь. В этой функции мы получили имя пользователя и записали его в переменную name, и отправили пользователю текстовое сообщение.

Дальше мы по сути создаем похожу функцию, только с другим именем и сохранять счет мы будем в переменной value, после чего отправлять текст с тем, что пользователь зарегистрирован.

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Давайте запустим программу и посмотрим что у нас получилось. После запуска программы у нас появляется наша созданная папка, где и храниться наша база данных. Теперь когда пользователь будет писать имя и счет, то программа будет автоматически сохранять их в базу данных.

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

Также каждый день в telegram канале появляются полезные книги и пособия с материалом по программированию, а также выходят эффективные фишки, которые значительно упрощают вашу работу с программированием.