PyQt5之对MySQL数据库进行更新、插入和删除操作

1、画好界面

2、更新数据库中的表

# 【更新数据】按钮
        self.pushB_update.clicked.connect(self.pushB_update_Clicked)

    # 【更新数据】按钮功能
    def pushB_update_Clicked(self):
        conn = pymysql.connect(host=localhost, port=3306, user=root, password="199632", db="test")
        cur = conn.cursor()
        # 先读取右边表格输入的ID和姓名
        id1 = self.tableWidget_2.item(0, 0).text()
        name1 = self.tableWidget_2.item(0, 1).text()
        # 更新的sql语句
        sql = "UPDATE tab1 SET name="+name1+" WHERE id="+id1
        # 打印测试
        print(sql)
        # 执行sql语句,并发送给数据库
        cur.execute(sql)
        conn.commit()
        cur.close()
        conn.close()

结果如下所示,我在界面的表格第一行修改了ID为4的姓名,点击更新按钮后执行更新语句,可以看到数据库中的表的ID=4的姓名已由jack变成了taylor,说明更新成功!

3、删除数据库中的表的数据

还是在界面的右边那个表,点击【删除数据】按钮,将刚才输入过的那一行数据在数据库中找到并删除对应的行,代码如下所示:

# 【删除数据】按钮
        self.pushB_delete.clicked.connect(self.pushB_delete_Clicked)

    # 【删除数据】按钮功能
    def pushB_delete_Clicked(self):
        conn = pymysql.connect(host=localhost, port=3306, user=root, password="199632", db="test")
        cur = conn.cursor()
        # 先读取右边表格输入的ID
        id1 = self.tableWidget_2.item(0, 0).text()
        # 删除的sql语句
        sql = "DELETE FROM tab1 WHERE id="+id1
        # 打印测试
        print(sql)
        # 执行sql语句,并发送给数据库
        cur.execute(sql)
        conn.commit()
        cur.close()
        conn.close()

点击删除按钮后,可以看到数据库中已经把ID=4的这一行已经删除:

4、在数据库的表中插入数据

点击【插入数据】按钮,将界面右边的表中输入的信息插入到数据库对应的表中,代码如下:

# 【插入数据】按钮
        self.pushB_insert.clicked.connect(self.pushB_insert_Clicked)

    # 【插入数据】按钮功能
    def pushB_insert_Clicked(self):
        conn = pymysql.connect(host=localhost, port=3306, user=root, password="199632", db="test")
        cur = conn.cursor()
        # 先读取右边表格输入的ID和姓名
        id1 = self.tableWidget_2.item(0, 0).text()
        name1 = self.tableWidget_2.item(0, 1).text()
        id2 = self.tableWidget_2.item(1, 0).text()
        name2 = self.tableWidget_2.item(1, 1).text()
        # 插入的sql语句
        sql1 = "INSERT INTO tab1 (id,NAME) VALUES ("+id1+","+name1+")"
        sql2 = "INSERT INTO tab1 (id,NAME) VALUES ("+id2+","+name2+")"
        # 打印测试
        print(sql1)
        print(sql2)
        # 执行sql语句,并发送给数据库
        cur.execute(sql1)
        cur.execute(sql2)
        conn.commit()
        cur.close()
        conn.close()

这里在表格中输入了两行信息,因此代码中需执行两次sql语句,点击插入按钮后,可以看到数据库中的表已经增加了两行数据: 好了,PyQt5对mysql数据库的简单增删改查都已经介绍完毕,因为只是简单地介绍,所有有些代码没有进行优化,比较笨重,例如没有判断界面的表中到达输入了多少行信息、没有循环执行sql语句等等,不过关键的部分还是基本讲到了的,希望对大家有用!

经验分享 程序员 微信小程序 职场和发展