当前位置:
首页 > Python基础教程 >
-
利用python中pymysql操作MySQL数据库的新手指南
PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中是使用mysqldb,这篇文章主要给大家介绍了关于利用python中pymysql操作MySQL数据库的相关资料,需要的朋友可以参考下
一. pymysql介绍
pymysql 是在 Python3.x 版本中用于连接和操作 MySQL 服务器的一个库.
引入方式: pip install pymysql
pip工具是python的一个模块,因此在使用pip工具安装pymysql模块之前,首先确定python和pip工具都能正常工作
二. 连接数据库的完整流程
- 引入pymysql模块
import pymysql # 引入第三方库pymysql
- 创建连接对象
import pymysql
cnn = pymysql.connect(
user="user", # 用户名
password="password", # 密码
port=端口号, # 默认为3306,且此处为整数类型
database="数据库名",
host="连接IP地址",
charset="utf8")
- 使用连接对象创建游标对象
1. 游标对象是通过链接对象进行创建的
2. 游标展示数据的四种方式:
1. Cursor ---> 默认使用, 元组套元组
2. SSCursor ---> 元组套元组的方式的生成器(优雅的迭代器)
3. Dictcursor ---> 列表套字典的方式
4. SSDictcursor ---> 列表套字典的方式的生成器
3. 创建语法(以最常用的列表套字典的形式举例)
cursor = database.cursor(cursor=pymysql.cursors.DictCursor
# cursor为游标对象名, 可按自己习惯自定义名字
-
准备需要使用的sql语句
按照自己的需求准备sql语句, 不熟悉的同学可以点击下方链接, 复习我上期写的MySQL基础入门课程.
MySQL基础入门知识
- 使用游标对象执行sql语句(如果是数据修改的操作,会返回受影响的行数)
# 执行语句比较简单, 就只写了这一个
cursor.execute(SQL语句)
- 如果执行语句是查询操作,需要使用游标对象获取查询结果
1. 获取结果的语法:
1. 游标对象.fetchall() ---> 返回查询到的所有数据
2. 游标对象.fetchone() ---> 返回查询到的一条记录
3. 游标对象.fetchmany(记录数) ---> 返回查询到的指定记录数
2. 切换数据库语法:
1. 由链接对象取操作切换数据库
2. 链接对象.select_db("数据库名)
3. 具体语句(用一个变量data接受存储数据)
data = cursor.fetchall()
- 关闭游标对象
游标对象.close()
- 关闭连接对象
连接对象.close()
三. 完整的简易源码
# 1. 引入模块
import pymysql
# 2. 连接数据库
cnn = pymysql.connect(
user="root",
password="******",
port=3306,
database="mytest",
host="localhost",
charset="utf8"
)
# 3. 创建游标对象
my_cursor = cnn.cursor(cursor=pymysql.cursors.DictCursor)
# 4. SQL语句
my_sql = "select * from student"
# 5. 执行SQL ---> 通过游标对象执行
my_cursor.execute(my_sql)
# 6. 查看结果
data = my_cursor.fetchall()
# 7. 关闭连接
my_cursor.close()
database.close()
# 打印获得的数据, 检查执行是否正确
print(data)
总结
到此这篇关于利用python中pymysql操作MySQL数据库的文章就介绍到这了,更多相关python pymysql操作MySQL数据库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://blog.csdn.net/m0_56232078/article/details/120413887
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比