[学习记录]pymysql的基本操作

pymysql是python与mysql的一个接口库,这里简单记录一下pymysql的使用方法,环境为python3

本篇主要参考《python3网络爬虫开发实战》中关于mysql的部分内容。,原书作者主页https://cuiqingcai.com/5052.html

pymysql官方文档:http://pymysql.readthedocs.io/en/latest/

可以直接通过pip install pymysql安装

常用经典操作:

1.连接数据库

db = pymysql.connect(host='localhost',user=username,password=passwd,port=portnumber,charset='utf8')

db.close()

第一步是建立连接,在使用完毕之后记得close断开连接。在connect中最后的charset='utf8'是为了能够正确处理中文字符。

2.游标

cursor=db.cursor()
sql=''#填入想要运行的sql语句
cursor.execute(sql)

游标是我们对数据库操作的主要工具,通过游标我们能够运行sql语句,也能获取从数据库返回的查询结果。

3.事务保护

事务保护即我们不允许插入数据只插入了一半的情况,标准写法如下

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

关于db.commit的内容稍后介绍

4.如果我想要插入数据

用python往数据库中插入数据的好处是方便,自动插入大量数据,省去了自己一条一条sql插入。

sql='insert into tablename values(%s,%s,%s,%s)'
data=(a,b,c,d)
cursor.execute(sql,data)
db.commit()

这条语句中将需要插入的数据用%s代替,然后把数据元组作为execute()的第二个参数传进去,这样就可以了。

而db.commit()是将语句交付数据库执行,对于数据插入、更新、删除都需要调用该方法才能生效。

5.数据查询

查询后为了得到数据库的返回结果,需要使用游标的fetchall()或fetchone()方法

sql='select * from test'
cursor.execute(sql)
data = cursor.fetchall()
data = cursor.fetchone()

fetchall()是返回全部的查询结果,fetchone()返回第一条查询的结果。

每当fetchone一次,系统的指针就会自动指向下一条记录,而fetchall会一次性将指针从当前位置不停地往下移动直到得到了全部的查询结果,之后再进行fetchone和fetchall都只能得到空结果了。

 

转载于:https://www.cnblogs.com/trickofjoker/p/9212491.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值