Python中如何实现增删改查操作

13人浏览 / 0人评论 / 添加收藏

接下来,小编将通过Python代码实例,讲解如何实现增删改查操作。

实现步骤

1.导入pymysql包

import pymysql

2. 创建连接对象

connect = Connection = Connect 本质上是一个函数,使用这三个里面的任何一个函数都可以创建一个连接对象

conn = pymysql.connect(
   host='192.168.1.11',      # 数据库主机地址
   user='root',                # 用户名
   password='123456',  # 密码
   database='financedb',       # 数据库名
   charset='utf8'
)

3.获取游标

目的就是要执行sql语句。

cursor = conn.cursor() 

sql = "insert into tablename(name) values('python');" 

sql = "update tablename set name = 'python' where id= 666;" 

sql = "delete from tablename where id=666;"

4. 执行sql语句

cursor.execute(sql) 

# 提交修改的数据到数据库 

conn.commit() 

# 对修改的数据进行撤销,表示数据回滚(回到没有修改数据之前的状态) 

conn.rollback()

5. 关闭游标

cursor.close()

6. 关闭连接

conn.close()

最后,展示完整代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pymysql

class DBUtil:
   name = 'mysql util'  # 类属性(所有实例共享)

   def __init__(self):  # 构造方法
       print('--init--')
       pass

   def initDB(self):
       # 连接数据库
       self.conn = pymysql.connect(
           host='192.168.1.11',      # 数据库主机地址
           user='root',               # 用户名
           password='123456', # 密码
           database='financedb',       # 数据库名
           charset='utf8'
       )

   def closeDB(self):
       # 关闭游标
       self.cursor.close()
       # 关闭连接
       self.conn.close()
       
   def operate(self):
       self.initDB()
       try:
           # with self.conn.cursor() as cursor:
           self.cursor = self.conn.cursor()
           # 执行 SQL语句,插入、更新和删除
           # sql = "insert into tablename(name) values('python');"
           # sql = "update tablename set name = 'python' where id=666;"
           sql = "delete from tablename where id=666;"
           self.cursor.execute(sql)
           print("数据执行成功!")
       except Exception as e:
           # 对修改的数据进行撤销,表示数据回滚(回到没有修改数据之前的状态)
           self.conn.rollback()
       finally:
           self.closeDB()

   def query(self):
       self.initDB()
       try:
           self.cursor = self.conn.cursor()
           # 执行 SQL 查询
           sql = "SELECT * FROM tablename;"
           self.cursor.execute(sql)
           # 获取查询结果
           results = self.cursor.fetchall()
           # 处理查询结果
           for row in results:
               print(row)
           print("数据查询成功!")
       finally:
           self.closeDB()
           return results

本实例采用把数据库操作封装在一个类中,在另外一个文件中引入和调用。

from dbutil import DBUtil

db = DBUtil()
result = db.query()
print('result:', result)

以上代码亲测有效,希望对你有所帮助!

全部评论