目录
1. pymysql模块
2. pymysql模块使用说明
2.1 pymysql操作流程图
2.2 创建连接对象
2.3 获取游标对象
2.4 用法举例
2.4.1 获取一条数据
6.4.2 获取多条数据:
6.4.3 对数据进行增删改操作
3. pymssql模块使用说明
活动地址:CSDN21天学习挑战赛
1. pymysql模块
pymysql模块 是一个Python 编写的MySQL驱动程序,让我们用 Python语言 操作 MySQL库。由于是第三方库,需要进行手动安装。不同编译环境,使用的方法不同,使用 Pycharm 安装第三方库的方法具体查看往期链接:Pycharm 安装教程
2. pymysql模块使用说明
2.1 pymysql操作流程图
2.2 创建连接对象
调用 pymysql 模块中的 connect() 函数来创建连接对象。
函数语法:conn = pymysql.connect(参数列表)
参数说明:
-
host :连接的 mysql 主机,如果本机是 'localhost'
-
port :连接的 mysql 主机的端口,默认是3306
-
database :数据库的名称
-
user :连接的用户名
-
password :连接的密码
-
charset :通信采用的编码方式,推荐使用 utf8,注意:是 utf8 而不是 utf-8。
连接对象操作说明:
-
conn.close() :关闭连接
-
conn.commit() :提交数据
-
conn.rollback() :撤销数据
2.3 获取游标对象
获取游标对象的目标就是要执行 sql 语句,完成对数据库的增、删、改、查操作。
函数语法:cur = conn.cursor()
游标操作说明:
-
execute(operation[parameters]) :使用游标执行 SQL 语句,返回受影响的行数,主要用于执行 insert、update、delete、select 等语句,也可以执行 creat 、alter、drop 等语句
-
cur.fetchone() :获取查询结果集中的一条数据,返回一个元组,如(1,'张三')
-
cur.fetchall() :获取查询结果集中的所有数据,返回一个数组,如((1,'张三'),(2,'李四')
-
cur.close() :关闭游标,表示和数据库操作完成
2.4 用法举例
2.4.1 获取一条数据
使用 cur.fetchone() 获取查询结果集中的一条数据,返回一个元组,如(1,'张三')。
#1.导入pymysql模块
import pymysql
#2.创建连接对象
# host :连接的 mysql 主机,如果本机是 'localhost'
# port :连接的 mysql 主机的端口,默认是3306
# database :数据库的名称
# user :连接的用户名
# password :连接的密码
# charset :通信采用的编码方式,推荐使用 utf8
conn = pymysql.connect(host='localhost',
port=3306,
user='root',
password='mysql',
database='python41',
charset='utf8'
)
#3.获取游标,目的是要执行sql语句
cursor = conn.cursor()
#准备sql,之前在mysql客户端如何编写sql,在Python程序里面还怎么编写
sql = 'select * from students;'
#4.执行sql语句
cursor.execute(sql)
#获取查询结果,返回的数据类型是一个元组:(1,'张三')
row = cursor.fetchone()
print(row)
#5.关闭游标
cursor.close()
#6.关闭连接
conn.close()
分析:如果出现报错 pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)") ,是因为没有打开或下载 MySQL,下载链接:MySQL下载地址
6.4.2 获取多条数据:
使用 cur.fetchall() 获取查询结果集中的所有数据,返回一个数组,如((1,'张三'),(2,'李四')。
#1.导入pymysql模块
import pymysql
#2.创建连接对象
# host :连接的 mysql 主机,如果本机是 'localhost'
# port :连接的 mysql 主机的端口,默认是3306
# database :数据库的名称
# user :连接的用户名
# password :连接的密码
# charset :通信采用的编码方式,推荐使用 utf8
conn = pymysql.connect(host='localhost',
port=3306,
user='root',
password='mysql',
database='python41',
charset='utf8'
)
#3.获取游标,目的是要执行sql语句
cursor = conn.cursor()
#准备sql,之前在mysql客户端如何编写sql,在Python程序里面还怎么编写
sql = 'select * from students;'
#4.执行sql语句
cursor.execute(sql)
#获取查询结果,返回的数据类型是一个元组:((1,'张三'),(2,'李四'))
rows = cursor.fetchall()
for row in rows:
print(row)
#5.关闭游标
cursor.close()
#6.关闭连接
conn.close()
6.4.3 对数据进行增删改操作
使用 conn.commit() 提交数据;conn.rollback() 撤销数据 对数据库进行增删改操作。
#1.导入pymysql模块
import pymysql
#2.创建连接对象
# host :连接的 mysql 主机,如果本机是 'localhost'
# port :连接的 mysql 主机的端口,默认是3306
# database :数据库的名称
# user :连接的用户名
# password :连接的密码
# charset :通信采用的编码方式,推荐使用 utf8
conn = pymysql.connect(host='localhost',
port=3309,
user='root',
password='mysql',
database='python41',
charset='utf8'
)
#3.获取游标,目的是要执行sql语句
cursor = conn.cursor()
#增加操作
sql = "insert into classes(name) value('小明')"
#修改操作
# sql = "update classes set name = '小红' where id = 2"
#删除操作
# sql = "delete from classes where id=2"
try:
#4.执行sql语句
cursor.execute(sql)
#增删改都必须提交数据
cursor.commit()
except:
#如果报错就对修改的数据进行撤销,表示数据回来
conn.rollback()
#5.关闭游标
cursor.close()
#6.关闭连接
conn.close()
3. pymssql模块使用说明
pymssql模块 与 pymyql模块 的区别在于:
- 导入模块:import pymssql
- 创建链接对象:conn = pymssql.connect(参数列表)
其他语法与 pymyql模块 一样。