#혼공학습단13기 #혼공S #SQL #MYSQL
8강 먼저 작성하였습니다. 사유: 저는 파이썬 사용자
호소인이기 때문입니다.
<aside> 📔
</aside>
<aside> 📔
complied language vs interpreted language
<aside>
python 🔗 pymysql
<aside>
</aside>
pymysql를 통해 데이터베이스 연동 프로그램을 작성할 수 있습니다.
DROP DATABASE IF EXISTS soloDB; --soloDB 생성
CREATE DATABASE soloDB;
<aside>
</aside>
MySQL 연결: pymysql.connect(host, user, password, db, charset등 옵션)
import pymysql
conn = pymysql.connect(host='호스트ip주소', user = 'root', password = '0000', db = 'soloDB', charset = 'utf8') #utf8: 한글
커서 생성: 연결자.cursor()
cur = conn.cursor()
테이블 생성: 커서명.execute(”CREATE TABLE 문장”) ⇒ (” “) 주의
cur.execute("CREATE TABLE userTable (id char(4), userName char(15), ,,,)**")**
데이터 입력 및 저장: 커서명.execute(”INSERT 문장”) / 연결자.commit() ⇒ (” “) 주의
cur.execute("INSERT INTO userTABLE VALUES('hong', '홍홍', ~)")
~~~
conn.commit()
MySQL 연결 종료: 연결자.close()
conn.close()
</aside>
<aside>
tkinter 라이브러리를 통해 GUI 응용 프로그램을 작성할 수 있습니다.
from tkinter import *
root = Tk()
root.title("혼공 연습")
root.geometry("400X200")
root.mainloop()
label1=Label(root, text = "우가", font= ("궁서체",30), bg="blue", fg="yellow")
label1.pack()
Frame
은 다른 위젯들을 그룹화하여 레이아웃을 쉽게 구성할 수 있도록 돕는 컨테이너 위젯입니다.Entry
는 사용자로부터 한 줄의 텍스트 입력을 받을 수 있는 텍스트 박스입니다.Listbox
는 여러 항목을 리스트 형식으로 표시하는 위젯입니다.from tkinter import *
root =Tk()
root.geometry("200X250")
upFrame = Frame(root)
upFrame.pack()
downFrame = Frame(root)
downFrame.pack()
editBox = Entry(upFrame, width=10)
editBox.pack(padx = 20, pady = 20)
listbox = Listbox(downFrame, bg = 'yellow')
listbox.pack()
listbox.insert(END, "하나")
listbox.insert(END, "둘")
listbox.insert(END, "셋")
root.mainloop()
</aside>
스토어드 프로시저를 활용해 프로그래밍 로직을 추가합니다.
<aside>
stored procedure란 MySQL에서 제공하는 프로그래밍 기능입니다.
DELIMITER $$
CREATE PROCEDURE 스토어드프로시저이름(IN | OUT 매개변수)
BEGIN
SQL 프로그래밍 코드
END $$
DELIMITER ;
CALL 프로시저_이름(@변수명);
SELECT @변수명;
다이나믹하게 SQL을 생성한 후 실행합니다.
SET @sqlQuery = CONCAT('SELECT * FROM ',tableName);
PREPARE myQuery FROM @sqlQUERY;
EXECUTE myQuery;
DEALLOCATE PREPARE myQuery;
<aside>
</aside>
<aside>
</aside>
작성자: jj 02/25/2025