Python 常用第三方库 pymysql
2022/5/5 19:13:27
本文主要是介绍Python 常用第三方库 pymysql,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
pymysql 概述
-
Python 的数据库接口标准是 Python DB-API
-
PyMySQL 是从 Python 连接到 MySQL 数据库服务器的接口
-
PyMySQL 的目标是成为 MySQLdb 的替代品
-
官方文档:http://pymysql.readthedocs.io/
pymysql 安装
-
使用 pip 安装
pip install pymysql
-
使用 Pycharm 界面安装
pymysql 连接数据库
- host:MySQL 服务器地址
- user:用户名
- password:密码
- database:数据库名称
- charset:编码方式,推荐使用 utf8mb4
# 1.导入库 import pymysql # 2.建立连接 conn = pymysql.connect(host='服务器地址', user='用户名', password='密码', database='数据库名', charset="utf8mb4") # 3.关闭连接 conn.close()
pymysql 连接数据库
- 封装获取连接的函数
import pymysql # 1.封装建立连接的对象 def get_conn(): conn = pymysql.connect( host="服务器地址", user="root", password="123456", database="数据库名", charset="utf8mb4" ) return conn
pymysql 入门实例
- 获取连接对象
- 打开
- 关闭
- 获取游标对象
- 执行 SQL
- 查询记录
from . import get_conn def test_demo(): # 1.获取连接对象 conn = get_conn() # 2.获取游标对象 cursor = conn.cursor() # 3.执行SQL cursor.execute("SELECT VERSION()") # 4.查询结果 version = cursor.fetchone() print(f"数据库的版本是:{version}") # 5.关闭连接 conn.close()
pymysql 创建表
- 创建表
testcase
from . import get_conn def test_create(): conn = get_conn() # 获取连接 cursor = conn.cursor() # 获取游标 sql = """ CREATE TABLE `testcase` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8_bin NOT NULL, `expect` varchar(255) COLLATE utf8_bin NOT NULL, `owner` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; """ cursor.execute(sql) # 执行SQL conn.close() # 关闭连接
pymysql 插入操作
- 插入记录
from . import get_conn def test_insert(): conn = get_conn() # 获取连接 cursor = conn.cursor() # 获取游标 sql = """INSERT INTO testcase (id, title, expect, owner) values (1, 'S11总决赛', '冠军', 'EDG'); """ cursor.execute(sql) # 执行SQL conn.commit() # 提交
执行事务
- 提交操作:
commit()
- 回滚操作:
rollback()
try-catch-finally
from . import get_conn def test_insert(): conn = get_conn() # 获取连接 cursor = conn.cursor() # 获取游标 sql = """INSERT INTO testcase (id, title, expect, owner) values (2, 'S11全球总决赛', '冠军', 'EDG'); """ try: cursor.execute(sql) # 执行SQL conn.commit() # 提交事务 except: conn.rollback() # 回滚事务 finally: conn.close() # 关闭连接
pymysql 查询操作
- 查询操作
fetchone()
:获取单条记录fetchmany(n)
:获取 n 条记录fetchall()
:获取所有结果记录
import sys from . import get_conn def test_retrieve(): conn = get_conn() # 获取连接 cursor = conn.cursor() # 获取游标 sql = "SELECT * FROM testcase;" # 捕获异常 try: cursor.execute(sql) # 执行SQL record = cursor.fetchone() # 查询记录 print(record) except Exception as e: print(sys.exc_info()) # 打印错误信息 finally: conn.close() # 关闭连接
pymysql 更新操作
- 更新数据表的数据
from . import get_conn def test_update(): conn = get_conn() cursor = conn.cursor() sql = "UPDATE testcase SET owner='hogwarts' WHERE id=2;" try: cursor.execute(sql) # 执行SQL conn.commit() # 提交事务 except: conn.rollback() # 回滚事务 finally: conn.close() # 关闭连接
pymysql 删除操作
- 删除数据表的数据
from . import get_conn def test_delete(): conn = get_conn() # 获取连接 cursor = conn.cursor() # 获取游标 sql = "DELETE FROM testcase WHERE id=3;" try: cursor.execute(sql) # 执行SQL conn.commit() # 提交事务 except: conn.rollback() # 回滚事务 finally: conn.close() # 关闭连接
这篇关于Python 常用第三方库 pymysql的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南