Найти в Дзене

Работа с базой данных sqlite3 на python для новичков

Оглавление

Сегодня мы поговорим о работе с базой данных на 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())

Конец