Python如何操作MySQL
- 2020 年 1 月 6 日
- 筆記
安装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)