[python] DB(DateBase)

Seoyu Kwak·2025년 8월 6일

python

목록 보기
11/11





📌 9일차 배운 내용 목차



번호주제
1데이터베이스 연결
2SELECT문 작성






✏️1. DataBase





✔️DataBase란?

  • 데이터를 저장, 관리하는 시스템 -> 대량의 데이터를 효율적으로 저장!하고 검색하는 데 사용
  • SQLite? : 가볍고 설정이 필요없는 파일 기반 데이터 베이스: sqlite3 모듈 사용하여 파이썬에서 쉽게 활용가능!








DataBase 연결과정

1) DataBase 통로 생성
2) SQL 통로 생성
3) CRUD
4) 통로 닫기 ( 역순으로!)

1) DataBase 통로 생성

2) SQL 통로 생성

3) CRUD


4) 통로 닫기 ( 역순으로!)








DB 생성 / 테이블 생성


-> CREATE 통해서 테이블 생성

if? csv 파일 통해서 만드려면 ( 팀프로젝트시 사용한 코드)






✏️1. SELECT문





✔️SELECT문 작성








연습

1) 테이블의 모든 컬럼확인 : (*)사용

🚨참고

result = curs.fetchall()
print(result)


// 원래 다른곳에서는 이렇게 해야하는데 파이썬에서는 pandas의 dataframe써서 보기 좋게 가능!

# departments 테이블의 모든 컬럼을 조회
import sqlite3
import pandas as pd
conn = sqlite3.connect("exam.db")
curs = conn.cursor()
sql = """
SELECT *
FROM  departments
"""
df = pd.read_sql(sql, conn)
curs.close()
conn.close()
df









2) 원하는 컬럼 검색









3) column 산술 연산 가능

열 별칭(Alias)사용 방법 3가지(AS 통해 네이밍 가능)

  • AS 뒤에 "별칭" -> 속도 젤 빠름
  • AS 뒤에 별칭 -> 속도 빠름
  • 그냥 컬럼 뒤에 별칭 -> 속도 상대적 느림









4) 중복 행 제거 -> DISTINCT(컬럼명)









5) employees 테이블의 사원들 중 salary가 10000이상인 사원들의 last_name과 salary 출력









6) 연봉이 120000이상인 사원들의 성씨, 및 연봉 출력









7) 사원번호가 176 인 사원의 성씨와 부서 번호를 출력하시오









8)







9)








10)








11)








12)









13)








14)








15) ORDER BY절 사용









16)








17) 2020/01/01 일부터 2025/07/11일 사이에 고용된 사원들의 성씨, 사번, 고용일자를 출력하시오. 고용일자 순으로 정렬하시오 (먼저 입사한 사람부터)









18) 20번 혹은 50 번 부서에서 근무하는 모든 사원들의 성씨 및 부서 번호를 알파벳순으로 출력하시오








19) 20 번 혹은 50 번 부서에 근무하며, 연봉이 200,000 ~ 250,000 사이인 사원들의 성씨 및 연봉을 출력하시오









20) 2020년도에 고용된 모든 사람들의 성씨 및 고용일을 조회한다








21) 매니저가 없는 사람들의 성씨 및 업무를 출력하시오








22) 매니저가 있는 사람들의 성씨 및 업무, 매니저번호를 조회한다.








23) 커미션을 받는 모든 사원들의 성씨, 연봉 및 커미션을 출력하시오. - 연봉을 역순으로 정렬하고, 연봉은 ANNSAL로 출력하시오








24) 성씨의 네번째 글자가 a인 사원의 성씨를 조회하시오








25) 성씨에 a 및 e 글자가 있는 사원의 성씨를 조회하시오








26) 급여가 2500,3500,7000이 아니며 직업이 SA_REP나 ST_CLERK인 사원의 성씨와, 급여, 직업을 출력하시오.








27) 30번 부서 혹은 90번 부서의 모든 직업들을 유일한 값으로 출력하시오. 단, 직업을 오름차순으로 출력하시오




















0개의 댓글