Python实现mysql数据库增删改查

 利用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 = 'stackoverflow'"
def delete(mydb,sql):
    mycursor = mydb.cursor()
    mycursor.execute(sql)
    mydb.commit()
    print(mycursor.rowcount, " 条记录删除")

  

 

posted @ 2019-12-05 17:12  红领巾1994  阅读(4441)  评论(0编辑  收藏  举报