Python实现mysql数据库增删改查

时间:2022-12-28 06:31:30

 利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增、删、改、查的简易封装!

  1. 环境配置

  安装第三方包  ,导入模块 mysql.connector 

pip install mysql-connector
2.使用说明

  本文将提供add,delete,update,query以及connect五种方法,下边将详述使用参数:

方法名 描述 传入参数 return
connect
创建链接数据库*
opt:用户可传入自定义数据库链接信息
{'host':'','user':'','password':'','port':'','database':'','charset':''}
返回链接connect
add
 插入
mydb:创建的链接connent;
sql:sql插入、更新语句
# sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
# sql = "UPDATE sites SET name = %s WHERE name = %s"
val:插入、更新的值
# val = ("RUNOOB", "https://www.runoob.com")
# val = ("Zhihu", "ZH")

无  
update   更新
delete   删除
mydb,sql

query   查询   list
说明:首先建立链接,其次再将获取到的链接进行数据库增删改查
3.源代码

  
# coding=utf-8
import mysql.connector #先安装mysql-connector-python-1.0.12-py3.3,再引入包 pip install mysql-connector #创建链接数据库
def connect(opt):
config={'host':opt['host'] or '127.0.0.1',#默认127.0.0.1
'user':opt['user'] or 'root',
'password':opt['password'] or 'root',
'port':opt['port'] or 3306,#默认即为3306
'database':opt['database'] or 'hibernate',
'charset':opt['charset'] or 'utf8'#默认即为utf8
}
try:
mydb=mysql.connector.connect(**config)#connect方法加载config的配置进行数据库的连接,完成后用一个变量进行接收
except mysql.connector.Error as e:
print('数据库链接失败!',str(e))
else:#try没有异常的时候才会执行
print("数据库连接sucessfully!")
return mydb # 插入
# sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
# val = ("RUNOOB", "https://www.runoob.com")
def add(mydb,sql,val):
mycursor = mydb.cursor()
mycursor.execute(sql, val)
mydb.commit() # 数据表内容有更新,必须使用到该语句
print(mycursor.rowcount, "记录插入成功。") # 更新
# sql = "UPDATE sites SET name = %s WHERE name = %s"
# val = ("Zhihu", "ZH")
def update(mydb,sql,val):
mycursor = mydb.cursor()
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, " 条记录被修改") # 查询
# sql="SELECT * FROM sites"
def query(mydb,sql):
mycursor = mydb.cursor()
mycursor.execute(sql)
myresult = mycursor.fetchall() # fetchall() 获取所有记录
for x in myresult:
print(x)
return myresult # 删除
# sql = "DELETE FROM sites WHERE name = '*'"
def delete(mydb,sql):
mycursor = mydb.cursor()
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, " 条记录删除")