本文实用pycharm进行示例,python操作mysql的模块为MySQLdb,可直接在内置模块下载器中下载,在其中名为mysql
下载完后导入MySQLdb
import MySQLdb
连接mysql数据库,首先确保本地mysql服务已部署完成并开启,其次确保建库建表已完成
目录
实例一:获取某个表全部数据
import MySQLdb
conn = MySQLdb.connect(host='localhost', user='root', passwd='root', db='okzl', charset='utf8') #连接数据库
cur = conn.cursor()
cur.execute('select * from pro')
data = cur.fetchall()
cur.close()
print(data)
conn.close()
实例二:根据cName模糊搜索
坑点一,tk.button中的command指向的方法不要带括号,会出莫名bug
坑点二,cur.execute中输入的sql查询语句若只拥有一个%s变量,会出莫名bug,出现此问题可通过多写一个%s哪怕是无用,即可避免此坑。
import MySQLdb
import tkinter as tk
conn = MySQLdb.connect(host='localhost', user='root', passwd='root', db='okzl', charset='utf8') #连接数据库
master = tk.Tk()
master.title("搜索某客户信息")
master.geometry('350x300')
e = tk.Entry(master)
e.pack(padx=20, pady=20)
def tosearch():
cur = conn.cursor()
temp2 = (e.get(), "%" + e.get() + "%")
cur.execute("select * from pro where cName like %s or cName like %s ", temp2)
data = cur.fetchall()
cur.close()
print(data)
tk.Button(master,text='搜索',width=8,command=tosearch).pack(padx=20,pady=50)
master.mainloop()
conn.close()
模糊搜所应用示范:
实例三:插入数据
lj4.get()为Entry输入框所输入的数据
cur = conn.cursor() # 伸出手
sql1 = "insert into pro(cName,address,linkman,linkPhone,credit,remark) values(%s,%s,%s,%s,%s,%s)"
temp2 = ( lj4.get(), lj5.get(), lj1.get(), lj2.get(), lj7.get(), lj9.get())
cur.execute(sql1, temp2)
conn.commit()
cur.close()
实例四:删除数据
进行此语句前最好写几个函数先判断删除目标是否在库中存在
sql1 = "delete from pro where id=%s"
temp1 = str(n)
cur.execute(sql1, temp1)
conn.commit()
cur.close()
实例五:修改数据
实际应用时刻先查询出原本数据进行打印,提供数据更改框,使用户可在原有数据基础上选择性更改,再将更改后的数据使用以下语句更新到库
cur = conn.cursor() # 伸出手
sql1 = "update pro set cName=%s, address=%s,linkman=%s,linkPhone=%s,credit=%s,remark=%s where id=%s"
temp2 = (lj4.get(), lj5.get(), lj1.get(), lj2.get(), lj7.get(), lj9.get(),id)
cur.execute(sql1, temp2)
conn.commit()
cur.close()
持续更新,学生自行摸索经验总结,水平有限请谅解,窗口组件使用tkinter包实现。