pymysql模块使用简介与示例
(编辑:jimmy 日期: 2024/11/2 浏览:3 次 )
pymysql模块
pymysql是一个连接mysql数据库的第三方模块,可作为连接mysql数据库的客户端,对数据库进行增删改查操作
# 下载第三方模块:pip3 install pymysql
如何连接数据库并对数据库进行操作:
import pymysql # 连接mysql数据库的模块 # 1.连接数据库 """ 需要传入的参数: host=None, user=None, password="", database=None, port=0, charset='', autocommit=True """ client = pymysql.connect( host="127.0.0.1", port=3306, user="root", password="123", database="test", charset='utf8', # 一定不要写utf-8 # 针对增删改操作,执行重要程度高,若要执行,必须要有一步确认的操作,autocommit=True默认对数据库进行增删改操作时自动提交至数据库;若此处不写,在下面代码 cursor_obj.execute(sql) 后面手动需要添加 client.commit()操作 autocommit=True ) # print(client) # 打印结果:<pymysql.connections.Connection object at 0x00000000028A8B88> # 2.获取游标对象。游标:可以用来提交sql命令 # pymysql.cursors.DictCursor:将查询出来的结果制作成字典的形式返回 cursor_obj = client.cursor(pymysql.cursors.DictCursor) # 3.通过execute可以提交sql语句(增删改查都可以,可以使用try来捕获异常) try: # 1.1)查数据 sql = "select * from books" # 不用写分号 # 1.2)插入数据 # sql = "insert into student(id, name, sex, birthday, class) values('110', '张芳', '男', '1946', '95030')" # 不用写分号 # 2)提交sql语句 res = cursor_obj.execute(sql) # print(res) # execute返回的是当前sql语句所影响的行数 # client.commit() # 上面连接数据库的代码处已写了autocommit=True,此处注释掉 # 3.1)提交后,通过cursor_obj对象.fetchall() 获取所有查询到的结果 data = cursor_obj.fetchall() for i in data: print(i) # 3.2).fetchone() 只获取查询结果中的一条 # print(cursor_obj.fetchone()) # 3.3).fetchmany() 可以指定获取几条数据 # print(cursor_obj.fetchmany(4)) # 获取四条数据 except Exception as e: print(e) # 关闭游标 cursor_obj.close() # 关闭客户端连接 client.close()
执行结果(以下为我本地数据库的数据):
{'BookID': 11425, 'BookTitle': 'Python', 'Copyright': 1984} {'BookID': 12786, 'BookTitle': 'Java', 'Copyright': 1934} {'BookID': 13331, 'BookTitle': 'MySQL', 'Copyright': 1919} {'BookID': 14356, 'BookTitle': 'PHP', 'Copyright': 1966} {'BookID': 15729, 'BookTitle': 'PERL', 'Copyright': 1932} {'BookID': 16284, 'BookTitle': 'Oracle', 'Copyright': 1996}
以上就是pymysql模块使用简介与示例的详细内容,更多关于pymysql模块的资料请关注其它相关文章!
下一篇:Python模拟登录requests.Session应用详解