Files
Source/project/CREDIT_APP/sql.ipynb
T
cooney 06eb3c57ab fastAPI 심화
- Chart.js
- pdf, csv 파일 업로드 후 데이터 정제하여 llm으로 처리 후 결과 도출
- sqlite로 데이터 저장
- ORM - SQLAlchemy
2026-06-16 18:03:02 +09:00

106 lines
2.8 KiB
Plaintext

{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### ORM(Object Relational Mapping)\n",
"- 데이터베이스 테이블을 파이썬의 클래스로 매핑\n",
"- 컬럼 == 속성\n",
"- SQLALchemy 라이브러리가 ORM 지원"
],
"id": "11f3431eb6bf7a12"
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2026-06-16T08:48:53.375278031Z",
"start_time": "2026-06-16T08:48:51.509377417Z"
}
},
"source": "!pip install sqlalchemy",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: sqlalchemy in ./.venv/lib/python3.12/site-packages (2.0.51)\n",
"Requirement already satisfied: greenlet>=1 in ./.venv/lib/python3.12/site-packages (from sqlalchemy) (3.5.1)\n",
"Requirement already satisfied: typing-extensions>=4.6.0 in ./.venv/lib/python3.12/site-packages (from sqlalchemy) (4.15.0)\n"
]
}
],
"execution_count": 1
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-06-16T08:57:27.860045705Z",
"start_time": "2026-06-16T08:57:27.561065535Z"
}
},
"cell_type": "code",
"source": [
"# Users 테이블 (id, name, email)\n",
"# create table users()\n",
"from sqlalchemy import Column, Integer, String, create_engine\n",
"from sqlalchemy.orm import declarative_base, sessionmaker\n",
"\n",
"# 데이터베이스 연결\n",
"engine = create_engine('sqlite:///db/users.db')\n",
"# engine = create_engine('sqlite:///users.db')\n",
"\n",
"# 모든 모델 크래스의 부모 클래스가 될 Base 객체 생성\n",
"Base = declarative_base()\n",
"class User(Base):\n",
" __tablename__ = 'users'\n",
"\n",
" id = Column(Integer, primary_key=True)\n",
" name = Column(String)\n",
" email = Column(String, unique=True)\n",
"\n",
" def __str__(self):\n",
" return f\"<User(name='{self.name}', email='{self.email}')>\"\n",
"\n",
"# 테이블 생성\n",
"Base.metadata.create_all(engine)"
],
"id": "7a41f863de1efd48",
"outputs": [],
"execution_count": 2
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "de1ebcd8f162fd42"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}