环境:windows10 + pycharm + mysql + python3
前言:
在我写一个爬虫项目的时候,发现会经常遇到连接数据库的操作,就想写成一个类,用的时候就方便多了。。。
本人新手,有什么好的想法建议,请在评论区发表~~谢谢~~
代码:
# encoding=utf-8
# Time : 2018/4/22
# Email : [email protected]
# Software: PyCharm
# Language: Python 3
import pymysql
class MysqlUtil(object):
name = 'MysqlUtil'
"""
use for connect Mysql ,need sql words
"""
def __init__(self):
# 创建链接
self.conn = pymysql.connect(
host='127.0.0.1', # 连接你要取出数据库的ip,如果是本机可以不用写
port=3306, # 端口
user='root', # 你的数据库用户名
passwd='123456', # 你的数据库密码
db='mzitu', # 数据库
charset='utf8'
)
# 创建一个游标对象
self.cur = self.conn.cursor(pymysql.cursors.DictCursor)
def sqlUtils(self, sql):
"""
need sql words
Format: sql_insert = ""INSERT INTO {0}(title, url, bji) VALUES("{1}","{2}","0")"".format("表名", "参数1", "参数2")
Example: sql_insert = ""INSERT INTO {0}(title, url, bji) VALUES("{1}","{2}","0")"".format("img_info", "百度", "http://www.baidu.com")
"""
try:
self.cur.execute(sql)
# 提交到数据库
self.conn.commit()
print("Sql words Success")
except Exception as e:
print("发生异常", e)
self.conn.rollback()
finally:
# 关闭游标和连接
self.cur.close()
self.conn.close()
if __name__ == '__main__':
mysqlutil = MysqlUtil()
# sql_insert = """INSERT INTO {0}(title, url, bji) VALUES("{1}","{2}","0")""".format("img_info", "百度", "http://wwbaidu.com")
# mysqlutil.sqlUtils(sql_insert)
sql_update = """update {} set bji='1' where url='{}'""".format('img_info', "http://wwbaidu.com")
mysqlutil.sqlUtils(sql_update)
数据库:mzitu
表:img_info
以上就是实现的代码,sql语句我只试了下insert 和 update ,其他的用到的时候再试吧。
如果想改变异常捕捉到本地的,也是可以的,自由发挥~~~