目录
活动地址:CSDN21天学习挑战赛
pymysql模块 是一个Python 编写的MySQL驱动程序,让我们用 Python语言 操作 MySQL库。由于是第三方库,需要进行手动安装。不同编译环境,使用的方法不同,使用 Pycharm 安装第三方库的方法具体查看往期链接:Pycharm 安装教程
调用 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() :撤销数据
获取游标对象的目标就是要执行 sql 语句,完成对数据库的增、删、改、查操作。
函数语法:cur = conn.cursor()
游标操作说明:
- execute(operation[parameters]) :使用游标执行 SQL 语句,返回受影响的行数,主要用于执行 insert、update、delete、select 等语句,也可以执行 creat 、alter、drop 等语句
- cur.fetchone() :获取查询结果集中的一条数据,返回一个元组,如(1,'张三')
- cur.fetchall() :获取查询结果集中的所有数据,返回一个数组,如((1,'张三'),(2,'李四')
- cur.close() :关闭游标,表示和数据库操作完成
使用 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下载地址
使用 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()
使用 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()
pymssql模块 与 pymyql模块 的区别在于:
- 导入模块:import pymssql
- 创建链接对象:conn = pymssql.connect(参数列表)
其他语法与 pymyql模块 一样。