python mysql操作(亲身经验总结,含坑点)

本文实用pycharm进行示例,python操作mysql的模块为MySQLdb,可直接在内置模块下载器中下载,在其中名为mysql

下载完后导入MySQLdb

import MySQLdb

连接mysql数据库,首先确保本地mysql服务已部署完成并开启,其次确保建库建表已完成

目录

实例一:获取某个表全部数据

实例二:根据cName模糊搜索

实例三:插入数据

实例四:删除数据

实例五:修改数据


实例一:获取某个表全部数据

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包实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值