Этот проект на Python подключается к базе данных, выполняет операции чтения и записи, и демонстрирует базовые/продвинутые техники работы с SQL.
- Подключение к базе данных (PostgreSQL / MySQL / SQLite — выберите нужное)
- Выполнение SQL-запросов (SELECT, INSERT, UPDATE, DELETE)
- Чтение данных в удобные структуры Python (dict, pandas.DataFrame)
- Обработка ошибок подключения и запросов
- Настраиваемые параметры подключения через
.envили конфигурационный файл
- Python 3.10+
- SQLAlchemy или psycopg2
- python-dotenv для загрузки конфигураций
- (Опционально) pandas для анализа данных
my\_db\_project/
│
├── app/
│ ├── main.py # Точка входа в приложение
│ ├── database.py # Логика подключения к БД
│ ├── queries.py # SQL-запросы или ORM-модели
│ └── utils.py # Вспомогательные функции
│
├── .env # Конфигурация подключения (не коммитить!)
├── requirements.txt # Зависимости
└── README.md
- Клонируйте репозиторий
git clone https://github.com/username/my_db_project.git
cd my_db_project- Создайте виртуальное окружение и установите зависимости
python -m venv venv
source venv/bin/activate # Linux / macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt- Создайте файл
.env
DB_HOST=localhost
DB_PORT=5432
DB_NAME=my_database
DB_USER=my_user
DB_PASSWORD=my_password- Запустите проект
python app/main.pyimport os
from sqlalchemy import create_engine
from dotenv import load_dotenv
load_dotenv()
DB_HOST = os.getenv("DB_HOST")
DB_PORT = os.getenv("DB_PORT")
DB_NAME = os.getenv("DB_NAME")
DB_USER = os.getenv("DB_USER")
DB_PASSWORD = os.getenv("DB_PASSWORD")
DATABASE_URL = f"postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
engine = create_engine(DATABASE_URL)
def test_connection():
try:
with engine.connect() as conn:
result = conn.execute("SELECT 1")
print("✅ Подключение успешно:", result.scalar())
except Exception as e:
print("❌ Ошибка подключения:", e)pytest