Для решения данной задачи нам потребуется использовать модуль sqlite3 в Python.
1) Начнем с создания базы данных SQLite с именем "MyContacts.db". Для этого мы будем использовать функцию connect() из модуля sqlite3:
import sqlite3
# Создание базы данных
conn = sqlite3.connect('MyContacts.db')
2) Теперь, когда у нас есть база данных, мы можем создать в ней таблицу "Contacts" с нужными атрибутами. Мы будем использовать метод execute(), чтобы выполнить SQL-запрос CREATE TABLE:
# Создание таблицы
cursor = conn.cursor()
cursor.execute('CREATE TABLE Contacts (id INTEGER PRIMARY KEY, name TEXT, phone TEXT, email TEXT)')
3) После создания таблицы мы можем вставить несколько тестовых записей. Для этого мы можем использовать метод execute() и SQL-запрос INSERT INTO:
# Вставка записей
cursor.execute("INSERT INTO Contacts (name, phone, email) VALUES ('John', '1234567890', '
[email protected]')")
cursor.execute("INSERT INTO Contacts (name, phone, email) VALUES ('Jane', '9876543210', '
[email protected]')")
cursor.execute("INSERT INTO Contacts (name, phone, email) VALUES ('Tom', '5555555555', '
[email protected]')")
cursor.execute("INSERT INTO Contacts (name, phone, email) VALUES ('Mary', '9999999999', '
[email protected]')")
cursor.execute("INSERT INTO Contacts (name, phone, email) VALUES ('Alex', '1111111111', '
[email protected]')")
# Сохранение изменений
conn.commit()
4) Теперь мы можем написать SQL-запросы для выполнения требуемых действий:
-Выбрать контакты, у которых в адресе электронной почты есть слово "gmail". Для этого мы будем использовать SQL-запрос SELECT с подстрокой LIKE и оператором %:
# Выбор контактов с адресом электронной почты, содержащим "gmail"
cursor.execute("SELECT * FROM Contacts WHERE email LIKE '%gmail%'")
contacts = cursor.fetchall()
-Обновить имя и номер телефона контакта с определенным id. Мы можем использовать SQL-запрос UPDATE с оператором SET и условием WHERE по id:
# Обновление имени и номера телефона контакта с определенным id
cursor.execute("UPDATE Contacts SET name = 'New Name', phone = 'New Phone' WHERE id = 1")
-Удалить контакт с определенным id. Для этого мы можем использовать SQL-запрос DELETE с условием WHERE по id:
# Удаление контакта с определенным id
cursor.execute("DELETE FROM Contacts WHERE id = 1")
В конце не забудьте сохранить изменения, вызвав метод commit(), и закрыть соединение с базой данных с помощью метода close():
# Сохранение изменений
conn.commit()
# Закрытие соединения
conn.close()
В результате выполнения этих шагов мы создадим базу данных SQLite с именем "MyContacts.db", таблицей "Contacts" и несколькими тестовыми записями. Мы также написали SQL-запросы для выбора контактов с адресом электронной почты, содержащих "gmail", обновления имени и номера телефона контакта с определенным id, и удаления контакта с определенным id.