pymysql模块

python安装pymysql 模块
1、用pip安装:

pip3 insatll pymysql

2、代码导入和连接

import pymysql
#链接
conn=pymysql.connect(
  host='localhost',
  user='root',
  password='123',
  database='xiaoming',
  charset='utf8',
  autocommit=True)
  
#游标
cursor=conn.cursor() #执行完毕返回的结果集默认以元组(可迭代对象即可)显示
#cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)  # 以字典的方式显示数据  个人推荐使用

3、操作数据库

#执行sql语句
user = input(">>>:").strip()
pwd = input(">>>:").strip()
sql='select * from userinfo where name="%s" and password="%s"' %(user,pwd) #注意%s需要加引号
这里有一个大坑,自己手动拼接会导致sql注入的问题,我会再用一篇文章描述这个问题
rows=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目
# 获取真实数据
cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),类似管道取值,获取一条,所有,多条
#增
sql="insert into user(username,passwo) values(%s,%s)"
rows = cursor.execute(sql,('bob','123'))

#改
sql = "update user set username='bob' where id=1"
rows = cursor.execute(sql)

注意:增和改 只执行excute 并不会真正影响到数据,需要再执行conn.commit()才可以完成真正的增改,为防止遗忘,我门将提交commit提前添加到连接部分conn=pymysql.connect(autocommit=True)

#一次插入多行记录
res = cursor.executemany(sql,[(),(),()])
#游标的移动(scroll)只能在select之后使用
cursor.scroll(1,'relative')  # 相对移动
cursor.scroll(3,'absolute')  # 绝对移动


cursor.close()
conn.close()

4、注意一点sql的执行返回值是什么
在这里插入图片描述
这两者看似不一样,其实返回值都是一样的,res表示的意思是执行sql指令后受影响的表的行数,即图中标记的部分
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值