利用python中pymysql操作MySQL数据库的新手指南

 更新时间:2021年09月24日 11:50:51   作者:不二灵灭  
PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中是使用mysqldb,这篇文章主要给大家介绍了关于利用python中pymysql操作MySQL数据库的相关资料,需要的朋友可以参考下

一. pymysql介绍

pymysql 是在 Python3.x 版本中用于连接和操作 MySQL 服务器的一个库.

引入方式: pip install pymysql

pip工具是python的一个模块,因此在使用pip工具安装pymysql模块之前,首先确定python和pip工具都能正常工作

二. 连接数据库的完整流程

1. 引入pymysql模块

import pymysql # 引入第三方库pymysql

2. 创建连接对象

import pymysql
cnn = pymysql.connect(
    user="user",  # 用户名
    password="password",  # 密码
    port=端口号, # 默认为3306,且此处为整数类型
    database="数据库名",
    host="连接IP地址",
    charset="utf8")

3. 使用连接对象创建游标对象

1. 游标对象是通过链接对象进行创建的
2. 游标展示数据的四种方式:
	1. Cursor ---> 默认使用, 元组套元组
	2. SSCursor ---> 元组套元组的方式的生成器(优雅的迭代器)
	3. Dictcursor ---> 列表套字典的方式
	4. SSDictcursor ---> 列表套字典的方式的生成器
3. 创建语法(以最常用的列表套字典的形式举例)
	cursor = database.cursor(cursor=pymysql.cursors.DictCursor
	# cursor为游标对象名, 可按自己习惯自定义名字

4. 准备需要使用的sql语句

按照自己的需求准备sql语句, 不熟悉的同学可以点击下方链接, 复习我上期写的MySQL基础入门课程.

MySQL基础入门知识

5. 使用游标对象执行sql语句(如果是数据修改的操作,会返回受影响的行数)

# 执行语句比较简单, 就只写了这一个
cursor.execute(SQL语句)

6. 如果执行语句是查询操作,需要使用游标对象获取查询结果

1. 获取结果的语法:
	1. 游标对象.fetchall() ---> 返回查询到的所有数据
    2. 游标对象.fetchone() ---> 返回查询到的一条记录
    3. 游标对象.fetchmany(记录数) ---> 返回查询到的指定记录数
2. 切换数据库语法:
    1. 由链接对象取操作切换数据库
    2. 链接对象.select_db("数据库名)
3. 具体语句(用一个变量data接受存储数据)
	data = cursor.fetchall()

7. 关闭游标对象

游标对象.close()

8. 关闭连接对象

连接对象.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数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python reverse反转部分数组的实例

    python reverse反转部分数组的实例

    今天小编就为大家分享一篇python reverse反转部分数组的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python去除图片水印实现方法详解

    Python去除图片水印实现方法详解

    这篇文章主要为大家详细介绍了如何利用Python实现处理图片水印的相关资料,主要是实现图片水印的去除效果,感兴趣的小伙伴可以尝试一下
    2023-01-01
  • Google开源的Python格式化工具YAPF的安装和使用教程

    Google开源的Python格式化工具YAPF的安装和使用教程

    Google的开发者文档中有一套Python的代码书写规范,而在GitHub上同样开源了一款名为YAPF的命令行程序用作Python的格式化,下面我们就来看下这款Google开源的Python格式化工具YAPF的安装和使用教程
    2016-05-05
  • 关于Python连接Cassandra容器进行查询的问题

    关于Python连接Cassandra容器进行查询的问题

    这篇文章主要介绍了Python连接Cassandra容器进行查询的问题,问题的关键在于寻找到Cassandra的9042端口,从而获取数据,具有内容详情跟随小编一起看看吧
    2021-11-11
  • python使用opencv驱动摄像头的方法

    python使用opencv驱动摄像头的方法

    今天小编就为大家分享一篇python使用opencv驱动摄像头的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Python函数装饰器的使用教程

    Python函数装饰器的使用教程

    在了解了Python函数装饰器基础知识和闭包之后,开始正式学习函数装饰器。感兴趣的朋友可以参考本文
    2021-06-06
  • Python实现多任务版的udp聊天器

    Python实现多任务版的udp聊天器

    这篇文章主要为大家详细介绍了Python实现多任务版的udp聊天器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • python 使用cx-freeze打包程序的实现

    python 使用cx-freeze打包程序的实现

    这篇文章主要介绍了python 使用cx-freeze打包程序的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python中关于对super()函数疑问解惑

    python中关于对super()函数疑问解惑

    Python中的super()是用于调用父类(或父类的父类...)方法的函数,主要用于多继承,单继承问题不大,下面这篇文章主要给大家介绍了关于python中关于对super()函数疑问解惑的相关资料,需要的朋友可以参考下
    2022-08-08
  • PowerBI和Python关于数据分析的对比

    PowerBI和Python关于数据分析的对比

    这篇文章主要介绍了PowerBI和Python关于数据分析的对比,很多经常会用到数据分析的伙伴会问有没有一款便捷好用的工具!肯定有啊,Python的出现和普及,很容易就能改变这些窘境,需要的朋友可以参考下
    2019-07-07

最新评论