PyMySQL 是用于连接 MySQL 服务器的一个库
1 安装:
pip install pymysql
2 数据库连接
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user="localhost",
password="123456",
charset="utf8",
cursorclass=DictCursor
)
cursorclass=DictCursor:把获得数据库数据由元组改为字典
3 数据库执行
#args 参数,列表,tuple
cursor.execute("SELECT* from invest LIMIT %s;", [2])
4 数据库查询
- fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
- fetchall():接收全部的返回结果行.
5 游标
获取到的结果可读性不强,使用字典表示
1) connect初始化时指定
cursorclass = DictCursor
2) 获取cursord时:
cursor = conn.cursor(DictCursor)
游标需要关闭 ,多个游标需要关闭多次
3)游标注意点
TODO:一个游标对象,最好只获取一次,获取多次很容易出现问题
members = cursor.fetchall()
print(members)
members = cursor.fetchone()
print(members) #此处得到的是None, fetchall()已获取所有的数据,光标就在最后
6 实例:
数据库创建详细看我的MYSQL专栏:数据库学习(一)——简介-CSDN博客
在本地创建数据库表member保存账户和密码
import pymysql
from pymysql.cursors import DictCursor
#建立连接
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user="localhost",
password="123456",
charset="utf8",
cursorclass=DictCursor
)
print(conn)
#初始化游标
cursor = conn.cursor()
print(cursor)
#执行sql语句
cursor.execute("SELECT * from futureloan.member LIMIT 10;")
#得到查询数据
members = cursor.fetchall()
print(members)
#得到的是元组格式,不可修改,若要修改需转为字典格式
#得到一条记录
cursor2 = conn.cursor()
cursor2.execute("SELECT * from futureloan.member LIMIT 10;")
members = cursor2.fetchone()
print(members)
#游标对象关闭,多个游标需要关闭多次
cursor.close()
cursor2.close()
#连接对象关闭
conn.close()
数据库其他部分可查看:Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程