初识Pymysql
这里以一个菜单数据为例子
“菜单”’数据百度网盘链接: https://pan.baidu.com/s/1Pq4yvkftajlbHQRaiktHYQ
提取码: x5sv
- 先用import导入模板
import pymysql
- pymysql.connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码
conn= pymysql.connect(
host='localhost',
port=3307,
user='root',
password='root',
database='zhou',
charset='utf8')
- 获取一个光标
cursor = conn.cursor()
- 执行命令
show tables
sql1 = """
show tables;
"""
cursor.execute(sql1)
cursor.fetchone()
执行结果
('meal_order_detail1',)
fetchone()函数它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回null
cursor.fetchone()
执行结果
('2956',
'417',
'610062',
'NA',
'NA',
'蒜蓉生蚝',
'0',
1.0,
49.0,
'NA',
datetime.datetime(2016, 8, 1, 11, 5),
'NA',
'NA',
'NA',
'0',
'NA',
'NA',
'caipu/104001.jpg',
'1442')
- 查找任意输入数值的数据
dishes_id=eval(str(input('请输入:')))
sql2="""
select * from meal_order_detail1 where dishes_id =%s;
"""
cursor.execute(sql2,dishes_id)
查询结果
请输入:610062
13
- 获取一个将结果作为字典返回的游标
cursor2 = conn.cursor(cursor=pymysql.cursors.DictCursor)
- 取到查询结果
ret1=cursor2.fetchone() #取一条
ret2=cursor2.fetchmany(3) #取三条
ret3=cursor2.fetchone() #取一条 cursor.fetchone()只取最上面的第一条结果
#多次使用cursor.fetchone(),依次取得下一条结果,直到为空
这些都是基本用法,暂时学到这里,后续继续研究。