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

时间:2022-06-27 05:20:57

一. pymysql介绍

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

引入方式: pip install pymysql

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

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

1. 引入pymysql模块

?
1
import pymysql # 引入第三方库pymysql

2. 创建连接对象

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

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

?
1
2
3
4
5
6
7
8
9
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语句(如果是数据修改的操作,会返回受影响的行数)

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

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

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

7. 关闭游标对象

?
1
游标对象.close()

8. 关闭连接对象

?
1
连接对象.close()

三. 完整的简易源码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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