安装:file---setting--project---project interpreter--选择版本,点击右侧+号,搜索pymysql---install
步骤:
1、连上mysql ,指定ip 端口号,账号,密码,数据库,相当于打开仓库大门
2、建立游标,游标相当于仓库的管理员,帮忙找东西
3、执行sql , 使用execute
4、获取结果
import pymysql
conn=pymysql.connect(host=‘211.149.218.16‘,user=‘jxz‘,passwd=‘123456‘,
port=3306,db=‘jxz‘,charset=‘utf8‘) charset指定字符集类型,必须写utf8
port不存在可以不写,但是写的话必须是int类型
yb=conn.cursor() 仓库管理员
yb.execute(‘select * from bt_stu limit 5;‘) 执行sql语句 sql语句用“ ; ”号结尾,不然会报错
res=yb.fetchall() 获取返回结果
print(res)
yb.close() 关闭游标
conn.close() 关闭链接
运行结果(二维元组(元组也可以用角标取值)):
((502, ‘秋香‘, 1, ‘18612341231‘, ‘靠山屯‘, 1), (503, ‘王兰‘, 1, ‘18723561789‘, ‘天蝎座3‘, 1), (506, ‘修仙‘, 1, ‘18688866686‘, ‘截路财‘, 1), (508, ‘贾梦缘‘, 1, ‘18612333231‘, ‘靠山屯‘, 1), (511, ‘爱仕达‘, 1, ‘18332341231‘, ‘靠山屯‘, 1))
======================================================================================
1)游标.fetchon() 运行结果 取一条数据,数据放置到一个一维元组 适用场景:确定返回结果只有一条数据
2)fetchone 和 fetchiall同时使用:
fetchone在前,fetchall在后,fetchall读取的是 fetchone读取之后的数据;
fetchall在前,fetchone在后,fetchall读取所有数据,fetchone 读取的数据是空的,返回none
3)移动文件指针
游标.scroll(0,mode=‘absolute‘) 移动指针到最前面,adsolute绝对的位置,即最前面
游标.scroll(0,mode=‘relative‘) 移动指针到最前面,relative相对的位置,相对于当前的位置 ,若把0修改为如-1 ,则取值为倒数第二的值
==================================================================================
insert update delect 语句执行时,需要在执行sql语句后执行提交的操作:数据库连接名.commit()
import pymysql
conn=pymysql.connect(host=‘211.149.218.16‘,user=‘jxz‘,passwd=‘123456‘,
port=3306,db=‘jxz‘,charset=‘utf8‘) charset指定字符集类型,必须写utf8
port不存在可以不写,但是写的话必须是int类型
yb=conn.cursor()
sql= "INSERT INTO `bt_stu` ( `real_name`, `sex`, `phone`, `class`, `type`) VALUES ( ‘亚静‘, ‘1‘, ‘17411348971‘, ‘sss‘, ‘1‘);"
yb.execute(sql)
conn.commit() 提交操作
print(yb.fetchone) 运行结果:none
==========================================================================================
conn=pymysql.connect(host=‘211.149.218.16‘,
user=‘jxz‘,passwd=‘123456‘,
port=3306,db=‘jxz‘,charset=‘utf8‘)#必须写utf8
cur = conn.cursor(cursor=pymysql.cursors.DictCursor) 将元组转换成字典或者list(根据fetchOne 或者fetchall 决定)
sql=‘select * from bt_stu limit 5‘
cur.execute(sql)
print(cur.fetchone())
print(cur.fetchall())
运行结果:
字典:
{‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 502, ‘real_name‘: ‘秋香‘, ‘phone‘: ‘18612341231‘}
list:
[{‘sex‘: 1, ‘class‘: ‘天蝎座3‘, ‘type‘: 1, ‘id‘: 503, ‘real_name‘: ‘王兰‘, ‘phone‘: ‘18723561789‘}, {‘sex‘: 1, ‘class‘: ‘截路财‘, ‘type‘: 1, ‘id‘: 506, ‘real_name‘: ‘修仙‘, ‘phone‘: ‘18688866686‘}, {‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 508, ‘real_name‘: ‘贾梦缘‘, ‘phone‘: ‘18612333231‘}, {‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 511, ‘real_name‘: ‘爱仕达‘, ‘phone‘: ‘18332341231‘}]