Сегодня мы поговорим о работе с базой данных на python .
И научимся :
- доставать информацию из базы данных
- создавать пользователей в базе данных
- добавлять поля типа текста и цифр
Для начала создадим файл с расширением py . Запустим cmd и перейдем в директорию где расположен файл .
Запускаем текстовый редактор .
Создаем таблицу базы данных
Первым делом импортируем нужный модуль
import sqlite3
sqlite3 сразу интегрирован в python так что его скачивать не надо.
Потом создаем 2 переменные .
db =sqlite3.connect("название базы данных")
sql=db.cursor()
Переменная sql отвечает за отправку в базу данных sql запросов.
Осталось написать создание самой базы данных.
sql.execute("""CREATE TABLE IF NOT EXISTS test(
name TEXT,
password INT
)""")
db.commit()
В этом коде мы создаем таблицу если её нет и сохраняем. В ней мы создаем поля name типа текст и password типа числа .
А строчка db.commit() сохраняет все это .
Создание пользователя в базе данных
Для начала создадим 2 переменные.
name=input("введи имя")
password =input("введи пароль")
Далее мы ищем пользователя по имени в базе данных , а если его нет то мы создаем его .
sql.execute("SELECT name FROM test WHERE name='{0}'",(name))
if sql.fetchone() is None:
----sql.execute("INSERT INTO test VALUES(? ,?)",(name,password))
else:
----print("такой пользователь уже есть ")
функция sql.execute делает sql запрос . Функция sql.fetchone показывает итог функции sql.execute . При создании пользователя мы пишем вопросы и потом передаем параметры чтобы защититься от sql инъекции .
Достаем информацию из базы данных
И напоследок я покажу как получить информацию из базы данных .
sql.execute("SELECT * FROM test ")
print(sql.fetchone())
Здесь мы просто получаем все данные из базы данных.
sql.execute("SELECT password FROM test WHERE name='{0}' ".format(name))
print(sql.fetchone())