기본 sql 형태 학습하기
2022.10.12 - [database/MariaDB] - select, insert, update, delete 기본
db_connect
config 관련 정보는 해킹에 취약하니 pickle로 저장하기 위해 별도로 코드를 작성한다
# MariaDB 연결 정보를 객체로 저장
config = {
'host':'127.0.0.1',
'user':'root',
'password':'123',
'database':'test',
'port':3306,
'charset':'utf8',
'use_unicode':True
}
import pickle
with open('mydb.dat', mode='wb') as obj:
pickle.dump(config, obj)
sql 기본 시작 형태
db3_mariadb
# 키보드에서 부서번호를 입력받아 해당 부서 직원자료(사번,이름,부서,연봉,직급) 출력
import MySQLdb
import pickle
with open('mydb.dat', mode='rb') as obj:
config = pickle.load(obj)
def chulbal():
try:
conn = MySQLdb.connect(**config)
# print(conn)
cursor = conn.cursor()
except Exception as e:
print('err : ',e)
finally:
cursor.close()
conn.close()
if __name__=='__main__':
chulbal()
전체 코드
# 키보드에서 부서번호를 입력받아 해당 부서 직원자료(사번,이름,부서,연봉,직급) 출력
import MySQLdb
import pickle
with open('mydb.dat', mode='rb') as obj:
config = pickle.load(obj)
def chulbal():
try:
conn = MySQLdb.connect(**config)
# print(conn)
cursor = conn.cursor()
buser_info = input('부서이름 : ')
sql = """
select jikwon_no,jikwon_name,buser_num,jikwon_pay,jikwon_jik
from jikwon inner join buser
on jikwon.buser_num=buser.buser_no
where buser_name='{0}'
""".format(buser_info)
# print(sql)
cursor.execute(sql)
datas = cursor.fetchall()
# print(datas, len(datas))
if len(datas) == 0:
print(str(buser_info) + '에 해당되는 자료는 없어요')
# 함수 종료
return
# 프로그램 종료
# sys.exit(0)
for jikwon_no,jikwon_name,buser,jikwon_pay,jikwon_jik in datas:
print(jikwon_no,jikwon_name,buser,jikwon_pay,jikwon_jik)
print('인원수 : {}'.format(len(datas)))
except Exception as e:
print('err : ',e)
finally:
cursor.close()
conn.close()
if __name__=='__main__':
chulbal()
해당 부서이름이 있을 경우
부서이름 : 총무부
1 홍길동 10 9900 이사
10 박치기 10 3700 사원
13 박명화 10 4900 대리
17 한국인 10 8000 부장
25 박혁기 10 3800 사원
26 김나라 10 3500 사원
29 박가희 10 4100 사원
인원수 : 7
해당 부서이름이 없을 경우
부서이름 : 축구부
축구부에 해당되는 자료는 없어요
'python' 카테고리의 다른 글
socket - 기본구조, 메시지 송수신 (0) | 2022.10.12 |
---|---|
socket - 기본 구조 (0) | 2022.10.12 |
DB 연결 - select, insert, update, delete 기본 (0) | 2022.10.12 |
DB - sqlite (0) | 2022.10.11 |
file - 파일에서 특정 단어를 포함하는 줄만 출력(주소 출력기) (1) | 2022.10.11 |