• Предмет: Информатика
  • Автор: tatianna9108
  • Вопрос задан 4 месяца назад

створити запис у базі даних, виведення бази даних на екран, пошук номера телефону за прізвищем. файли. пайтон​


Аноним: Кину відповідьв телегу hahobn
tatianna9108: @one_Love22_22 кидай

Ответы

Ответ дал: gguketosl
0

Ответ:

Для работы с базами данных в Python можно использовать модуль SQLite3.

import sqlite3

import os

# Файл базы данных будет храниться в текущей директории

db_file = os.path.join(os.getcwd(), 'phonebook.db')

# Создание объекта соединения с базой данных

conn = sqlite3.connect(db_file)

# Создание таблицы "phonebook" с полями "id" (целочисленный идентификатор),

# "last_name" (фамилия), "first_name" (имя) и "phone_number" (номер телефона)

conn.execute('''CREATE TABLE phonebook

               (id INTEGER PRIMARY KEY AUTOINCREMENT,

                last_name TEXT,

                first_name TEXT,

                phone_number TEXT)''')

# Добавление записи в таблицу "phonebook"

conn.execute('''INSERT INTO phonebook (last_name, first_name, phone_number)

                VALUES ("Иванов", "Иван", "88005553535")''')

# Сохранение изменений в базе данных

conn.commit()

# Вывод всех записей из таблицы "phonebook" на экран

cursor = conn.execute("SELECT * from phonebook")

for row in cursor:

   print(row)

# Закрытие соединения с базой данных

conn.close()

#########################################3
Чтобы реализовать поиск номера телефона по фамилии, нужно добавить соответствующий SQL-запрос после создания объекта cursor:

# Ввод фамилии для поиска

last_name = input('Введите фамилию для поиска: ')

# Поиск записей, у которых значение поля "last_name" совпадает с введенной фамилией

cursor = conn.execute("SELECT phone_number from phonebook WHERE last_name=?", (last_name,))

result = cursor.fetchone()

if result:

   print(f'Номер телефона: {result[0]}')

else:

   print('Запись не найдена')


nitroamogus227: Хороший ответ, но можно было написать как правильно что заменить и где посмотреть как правильно создать базу данных.
archery: стеб засчитан)
archery: nitroamogus227, многое зависит от задания, базы данных, таблицы и тд.
Если ли бы этот сайт был организован подобно stackoverflow, где хороший поиск, все организовано для самомодерации, права на исправления зависят от рейтинга пользователя и тд, то был бы смысл в поучениях и замечаниях. А это сайт для школьников, тут мало кто реально учится
Вас заинтересует