상세 컨텐츠

본문 제목

tkinter+sql

pymysql

by bumychoi 2025. 4. 28. 21:05

본문

 

 

import pymysql
from tkinter import *
from tkinter import messagebox

##메인 코드부

def insertData():
    conn,cur=None,None
    data1,data2,data3,data4 ='','','',''
    sql=''

    conn =pymysql.connect(
        host='127.0.0.1',
        user='root',
        passwd='           ',
        db="soloDB",
        charset='utf8'
    )
    cur=conn.cursor()

    data1 = edt1.get()
    data2 = edt2.get()
    data3 = edt3.get()
    data4 = edt4.get()

    sql = "INSERT INTO userTable (id, userName,email, birthYear) VALUES (%s, %s, %s, %s)"

    cur .execute(sql,(data1,data2,data3,data4))
    conn.commit()
    conn.close()

    messagebox.showinfo("성공","데이터 입력 성공")

    selectData()

def selectData():
    strData1,strData2, strData3,strData4 =[],[],[],[]

    conn = pymysql.connect(
        host='127.0.0.1',
        user='root',
        passwd="           ",
        db="soloDB",
        charset="utf8")
    cur= conn.cursor()
    cur.execute("SELECT * FROM userTable")

    strData1.append("사용자ID")
    strData2.append("사용자 이름")
    strData3.append("시용자 이메일")
    strData4.append("사용자 출생연도")
    strData1.append("-------------")
    strData2.append("-------------")
    strData3.append("-------------")
    strData4.append("-------------")

    rows = cur.fetchall()
    for row in rows:
        strData1.append(row[0])
        strData2.append(row[1])
        strData3.append(row[2])
        strData4.append(row[3])

    listData1.delete(0,listData1.size()-1)
    listData2.delete(0,listData2.size()-1)
    listData3.delete(0,listData3.size()-1)
    listData4.delete(0,listData4.size()-1)

    for item1, item2, item3, item4  in zip(strData1,strData2,strData3,strData4):
        listData1.insert(END,item1)
        listData2.insert(END,item2)
        listData3.insert(END,item3)
        listData4.insert(END,item4)
    conn.close()

#메인 코드부
root = Tk()
root.geometry("600x300")
root.title("완전한 GUI 응용 프로그램")

edtFrame = Frame(root)
edtFrame.pack()

listFrame=Frame(root)
listFrame.pack(side=BOTTOM,fill=BOTH,expand=1)

edt1=Entry(edtFrame,width=10)
edt1.pack(side=LEFT,padx=10,pady=10)

edt2=Entry(edtFrame,width=10)
edt2.pack(side=LEFT,padx=10,pady=10)

edt3=Entry(edtFrame,width=10)
edt3.pack(side=LEFT,padx=10,pady=10)

edt4=Entry(edtFrame,width=10)
edt4.pack(side=LEFT,padx=10,pady=10)

btnInsert = Button(edtFrame,text="입력", command=insertData)
btnInsert.pack(side=LEFT,padx=10,pady=10)

btnSelect = Button(edtFrame,text="조회",command=selectData)
btnSelect.pack(side=LEFT,padx=10,pady=10)


listData1 = Listbox(listFrame,bg="yellow")
listData1.pack(side=LEFT,fill=BOTH,expand=1)

listData2 = Listbox(listFrame,bg="yellow")
listData2.pack(side=LEFT,fill=BOTH,expand=1)

listData3 = Listbox(listFrame,bg="yellow")
listData3.pack(side=LEFT,fill=BOTH,expand=1)

listData4 = Listbox(listFrame,bg="yellow")
listData4.pack(side=LEFT,fill=BOTH,expand=1)

root.mainloop()


'pymysql' 카테고리의 다른 글

pymysql CRUD  (0) 2025.04.29
tkinter 보완(입력시 리셋)  (0) 2025.04.28
조회출력  (0) 2025.04.28
PYMYSQL 데이터 입력하기  (0) 2025.04.28
pymysql CRUD 기본틀  (0) 2025.04.14

관련글 더보기