[TIL] 2024-08-08 (DB/SQL)TIL/2024.082024. 8. 8. 00:18
Table of Contents
728x90
Today I Learned (2024-08-08)
목차
오늘 공부한 내용
1. KDT(DataBase/SQL)
데이터베이스란?
- 데이터의 집합이다.DBMS(Database Management System)란?
- 데이터베이스를 관리하고 운영하는 소프트웨어를 말한다.SQL(Structured Query Language)란?
- RDMBS의 데이터를 관리하기 위해 설계된 프로그래밍 언어이다. SQL
- 데이터 조작언어(DML)
- 쉽게 말해서
CRUD
이다. - 데이터를 조작할 때 기본 기능에 해당된다.
- INSERT(생성)
- SELECT(읽기)
- UPDATE(갱신)
- DELETE(삭제)
- 쉽게 말해서
- 외래 키(Foreign Key, FK)란?
- 한 테이블의 컬럼이 다른 테이블의 프라이머리 키(Primary Key) 또는 유니크 키(Unique Key) 컬럼을 참조하도록 설정한다.
- 이를 통해 무결성을 유지하고, 데이터베이스 내에서 테이블 간의 관계를 정의할 수 있다.
2. 파이썬-mariaDB 연결
라이브러리 설치(pymysql)
파이썬에서 mariaDB 에 연결하기 위해서는
pymysql
라이브러리를 설치해야 한다.pip install pymysql
기본 코드
다른 DB 에도 접속하기 위해서
db_name
은 파라미터로 빼뒀다.그리고 SQL문도 하나의 함수로 Insert도 하고 싶었기 때문에
args
와insert
를 파라미터로 만들어서 입력하게끔 만들었다.
import pymysql
import pymysql.cursors
# DB 연결
def db_connect(db_name="test"):
conn = pymysql.connect(
host="127.0.0.1",
user="dbtest",
password="1234",
db=db_name,
charset="utf8mb4",
# 사용시 딕셔너리로 데이터가 반환됨.
cursorclass=pymysql.cursors.DictCursor,
)
return conn
# SQL 실행
def exec_sql(SQL, args=None, insert=False):
with db_connect() as conn:
with conn.cursor() as cur:
cur.execute(SQL, args)
if insert:
conn.commit()
return "commit"
result = cur.fetchall()
return result
3. Basic Algebra(기초대수학)
Inclusion and Exclusion(집합의 포함관계)
- Complement(여집합)
- A에
포함되지 않은
원소들을 모은 집합을 A의 complement 라고 하고 $A^c$라고 한다. 위키백과
- A에
- Intersection Set(교집합)
- 집합 A, B에 모두 포함되는 원소들의 집합 위키백과
- Union Set(합집합)
- 집합 A 또는 B에 포함되는 원소들의 모든 집합 위키백과
어려웠던 내용
- sql 문이 은근히 쉬운듯 어려웠다.
궁금한 내용과 부족한 내용
- foreign key, primary key
- 찾아본 결과
- 기본 키(primary key, PK) : null 을 제외한 유일한 값을 가진 컬럼(ID, 사번 등)
- 외래 키(foreign key, FK) : 다른 테이블의 기본 키와 연결해주는 키
- 찾아본 결과
느낀 점
- sql을 더 많이 사용하면서 데이터베이스와 친해져야겠다.
- 파이썬으로 DB를 연결해서 쿼리문을 보내는 것이 재미있었다.
- 집합이 너무 많다... 이건 곤란해😭
'TIL > 2024.08' 카테고리의 다른 글
[TIL] 2024-08-09 (Flask/SQL) (0) | 2024.08.10 |
---|---|
[TIL] 2024-08-09 (Flask/Library/Framework) (0) | 2024.08.09 |
[TIL] 2024-08-06 (MariaDB) (0) | 2024.08.07 |
[TIL] 2024-08-05 (기초대수학/집합) (0) | 2024.08.05 |
[TIL] 2024-08-04 (기초대수학) (0) | 2024.08.05 |
@maneDataLab :: 마네의 데이터랩
배움에 즐거움을 느끼는 마네의 데이터랩 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!