Python|Python pymysql操作MySQL详细
目录
- 1、使用
- 1.1 简单使用
- 1.2 封装工具类
1、使用
1.1 简单使用
import pymysql# 创建连接con = pymysql.connect(host='localhost',port=3306,user='root',password='123456',database='test',charset='utf8')# 创建游标cursor = con.cursor()# 执行新增SQL,返回受影响行数row1 = cursor.execute("insert into user (username, password) values ('username3','password3')")print(row1)# 执行更新SQL,返回受影响行数row2 = cursor.execute("update user set password = '123456' where id > 2; ")# 执行查询SQLres = cursor.execute("SELECT * FROM user; ")result = cursor.fetchall()for info in result:print(info[0], info[1])# 提交,不然无法保存新增或者更新的数据con.commit()# 关闭游标cursor.close()# 关闭连接con.close()
注意:数据库表中存在中文时,创建连接需要指定
charset='utf8'
,否则中文显示会乱码。 其中cursor.fetchall()
是获取所有结果集,如果只有一条结果集,可以使用cursor.fetchone()
。1.2 封装工具类
为了使用方便,可以直接封装成工具类:
import pymysqlclass MysqlHelper:def __init__(self, config):self.host = config["host"]self.port = config["port"]self.user = config["user"]self.password = config["password"]self.db = config["db"]self.charset = config["charset"]self.con = Noneself.cursor = Nonedef create_con(self):"""创建连接"""try:self.con = pymysql.connect(host=self.host, port=self.port, user=self.user, password=self.password,database=self.db, charset='utf8')self.cursor = self.con.cursor()return Trueexcept Exception as e:print(e)return False#def close_con(self):"""关闭链接"""if self.cursor:self.cursor.close()if self.con:self.con.close()# sql执行def execute_sql(self, sql):"""执行插入/更新/删除语句"""try:self.create_con()print(sql)self.cursor.execute(sql)self.con.commit()except Exception as e:print(e)finally:self.close_con()def select(self, sql, *args):"""执行查询语句"""try:self.create_con()print(sql)self.cursor.execute(sql, args)res = self.cursor.fetchall()return resexcept Exception as e:print(e)return Falsefinally:self.close_con()
使用工具类:
config = {"host": 'localhost',"port": 3306,"user": 'root',"password": '123456',"db": 'test',"charset": 'utf8'}db = MysqlHelper(config)db.execute_sql("insert into user (username, password) values ('username4','password4')")db.select("SELECT * FROM user; ")
到此这篇关于
Python pymysql
操作MySQL详细的文章就介绍到这了,更多相关Python pymysql
操作MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!推荐阅读
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 在线版的迅捷思维导图怎么操作()
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- 操作系统|[译]从内部了解现代浏览器(1)
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)