Создай базу notes_app_<group>_<name> и выбери её через USE.
Создай таблицу notes с полями id, title, content.
Вставь заметку, вызови commit() и выведи все заметки через DictCursor.
🏠 Домашнее задание из LMS
1
Создание базы
Напишите программу, которая:
создаёт базу данных notes_app_<your_group>_<your_full_name>;
выбирает эту базу через USE notes_app;
выводит сообщение о результате.
Пример вывода:
Database 'notes_app' created or already exists.
2
Добавление заметок
Продолжите предыдущую программу:
создайте таблицу notes с полями: id, title, content;
вставьте одну заметку в таблицу;
выполните commit() после вставки;
выведите все заметки используя DictCursor.
Пример вывода:
Note added: Shopping list
🛠️ Подготовка окружения
Убедитесь, что установлен Python 3.
Установите библиотеку PyMySQL:
pip install pymysql
Убедитесь, что у вас есть доступ к серверу MySQL с правами на создание баз и таблиц. Запишите параметры подключения:
host — адрес сервера;
user — имя пользователя;
password — пароль.
⚠️ Проверить по документации: в LMS в качестве примера используется база notes_app_<your_group>_<your_full_name>, но в задании также упоминается USE notes_app. Уточните у преподавателя точное имя базы, которое нужно использовать при сдаче домашнего задания.
📋 Пошаговое решение
Шаг 1. Создание базы данных
Файл:homework_notes_app.py
import pymysql
config = {
"host": "ich-edit.edu.itcareerhub.de",
"user": "ich1",
"password": "ich1_password_ilovedbs",
}
try:
with pymysql.connect(**config) as connection:
with connection.cursor() as cursor:
cursor.execute("CREATE DATABASE IF NOT EXISTS notes_app")
cursor.execute("USE notes_app")
print("Database 'notes_app' created or already exists.")
except pymysql.MySQLError as e:
print("Database error:", e)
Шаг 2. Создание таблицы и вставка заметки
Дополняем программу созданием таблицы и вставкой данных:
import pymysql
from pymysql.cursors import DictCursor
config = {
"host": "ich-edit.edu.itcareerhub.de",
"user": "ich1",
"password": "ich1_password_ilovedbs",
}
try:
with pymysql.connect(**config, cursorclass=DictCursor) as connection:
with connection.cursor() as cursor:
cursor.execute("CREATE DATABASE IF NOT EXISTS notes_app")
cursor.execute("USE notes_app")
print("Database 'notes_app' created or already exists.")
cursor.execute("""
CREATE TABLE IF NOT EXISTS notes (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200),
content TEXT
)
""")
title = "Shopping list"
content = "Buy milk, bread and eggs."
cursor.execute(
"INSERT INTO notes (title, content) VALUES (%s, %s)",
(title, content)
)
connection.commit()
print(f"Note added: {title}")
cursor.execute("SELECT id, title, content FROM notes")
for row in cursor.fetchall():
print(f"{row['id']}. {row['title']}: {row['content']}")
except pymysql.MySQLError as e:
print("Database error:", e)
✅ Проверка в VS Code
Откройте папку с проектом в VS Code.
Создайте файл homework_notes_app.py, скопируйте решение и замените параметры подключения на свои.
Запустите файл через терминал:
python homework_notes_app.py
Убедитесь, что в консоли появилось сообщение о создании базы и добавленной заметке.
Проверьте, что заметка выводится через DictCursor с именами колонок.
Если программа падает, проверьте:
запущен ли сервер MySQL;
правильны ли логин и пароль;
есть ли у пользователя права на создание баз и таблиц;
не забыли ли вы вызвать commit() после вставки.
⚠️ Проверить по документации: в учебных примерах используется сервер ich-edit.edu.itcareerhub.de. Для локальной проверки замените параметры подключения на свои. Если база уже существует, повторный запуск программы добавит ещё одну заметку — для чистоты эксперимента можно использовать DELETE FROM notes перед вставкой.