Python如何操作MySQL

安装Mysql和Navicat for MySQL

mysql的安装图解https://jingyan.baidu.com/art…
navicat for mysql破解可以看下这个文章https://www.cnblogs.com/da199…

Python链接Mysql的增删改查

通过Python提供的pymysql模块实现对mysql数据库的操作,这个地方注意python3.x使用的是pymysql,python2.x的话使用mysqldb模块

安装pymysql模块:pip install PyMySQL

import pymysql
  
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='student')
# 创建游标
cursor = conn.cursor()

# 修改----执行SQL,并返回受影响行数
# effect_row = cursor.execute("update user set name=%s,pwd=%s where id=%s", ('aaa','bb', 1))
  
# 添加----执行SQL,并返回受影响行数
# cursor.execute("insert into user (name, pwd) values (%s,%s)", ("lidao","aaa"))
# 查询----
cursor.execute("select * from user")
stus = cursor.fetchall()   
for stu in stus:
        print("id:%d; name: %s; pwd: %s; " %(stu[0], stu[1], stu[2]))

# 删除---执行SQL,并返回受影响行数
cursor.execute("delete from user where id=%s", (2))

# 提交,不然无法保存新建或者修改的数据
conn.commit()
#如果不加这个就手动添加autocommit=True 自动提交
#db=pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="123456",db="school",charset="utf8",autocommit=True)


  
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

自己封装helper类

import pymysql  

class dbhelper():
    def __init__(self,host,port,user,passwd,db,charset="utf8"):
        self.host=host
        self.port=port
        self.user=user
        self.passwd=passwd
        self.db=db
        self.charset=charset
    #创建一个链接
    def connection(self):
        #1. 创建连接
        self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.passwd, db=self.db,charset=self.charset)
        #2. 创建游标
        self.cur = self.conn.cursor()
    #关闭链接
    def closeconnection(self):
        self.cur.close()
        self.conn.close()
    #查询一条数据
    def getonedata(self,sql):
        try:
            self.connection()
            self.cur.execute(sql)
            result=self.cur.fetchone()
            self.closeconnection()
        except Exception:
            print(Exception)    
        return result
    #查询多条数据    
    def getalldata(self,sql):
        try:
            self.connection()
            self.cur.execute(sql)
            result=self.cur.fetchall()
            self.closeconnection()
        except Exception:
            print(Exception)             
        return result
    #添加/修改/删除 
    def executedata(self,sql):
        try:
            self.connection()
            self.cur.execute(sql)
            self.conn.commit()
            self.closeconnection()
        except Exception:
            print(Exception)       
              

封装好了以后,后续用到mysql的操作的地方都可以直接使用,栗子如下:

from mysqlhelper import *

db=dbhelper(host='127.0.0.1', port=3306, user='root', passwd='123456', db='school',charset="utf8")
result=db.getalldata("select * from class")
print(result)
    原文作者:离岛
    原文地址: https://segmentfault.com/a/1190000012617975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞