import pymysql

import logging

import sys

# 加入日志

#获取logger实例

logger = logging.getLogger("baseSpider")

# 指定输出格式

formatter = logging.Formatter(‘%(asctime)s\

%(levelname)-8s:%(message)s‘)

# 文件日志

file_handler = logging.FileHandler("baseSpider.log")

file_handler.setFormatter(formatter)

# 控制台日志

console_handler = logging.StreamHandler(sys.stdout)

console_handler.setFormatter(formatter)

# 为logge添加具体的日志处理器

logger.addHandler(file_handler)

logger.addHandler(console_handler)

logger.setLevel(logging.INFO)

class DBHelper:

# 构造函数

def __init__(self, host=‘127.0.0.1‘, user=‘root‘,

pwd=‘123456‘, db=‘testdb‘):

self.host = host

self.user = user

self.pwd = pwd

self.db = db

self.conn = None

self.cur = None

# 连接数据库

def connectDatabase(self):

try:

self.conn = pymysql.connect(self.host, self.user,

self.pwd, self.db,charset=‘utf8‘)

except:

logger.error("connectDatabase failed")

return False

self.cur = self.conn.cursor()

return True

# 关闭数据库

def close(self):

# 如果数据打开,则关闭;否则没有操作

if self.conn and self.cur:

self.cur.close()

self.conn.close()

return True

# 执行数据库的sq语句,主要用来做插入操作

def execute(self, sql, params=None):

# 连接数据库

self.connectDatabase()

try:

if self.conn and self.cur:

# 正常逻辑,执行sql,提交操作

self.cur.execute(sql, params)

self.conn.commit()

except:

logger.error("execute failed: "+sql)

logger.error("params: "+params)

self.close()

return False

return True

# 用来查询表数据

def fetchall(self, sql, params=None):

self.execute(sql,params)

return self.cur.fetchall()

if __name__ == ‘__main__‘:

dbhelper = DBHelper()

# 创建数据库的表

sql = "create table maoyan(‘id‘varchar(8),\

‘title‘varchar(50),\

‘star‘varchar(200), \

‘time‘varchar(100),primary key(‘id‘));"

result = dbhelper.execute(sql,None)

if result:

logger.info("maoyan table创建成功")

else:

logger.error("maoyan table创建失败")

原文:https://www.cnblogs.com/zhaohuanhuan/p/9199303.html

mysql封装成类_python操作mysql封装成类相关推荐

  1. python与mysql数据库如何连接_Python操作MySQL数据库连接

    之前我们已经学会了用Python爬取图片类网站和文字类网站.图片类网站还好说,爬取到的图片存放在我们的硬盘中就可以了.对于文字类网站,爬取到的文字信息怎么处理呢?一种方法是将其存储在txt文件中,还有 ...

  2. thinkphp mysql类_PHP封装类似thinkphp连贯操作数据库的Db类(简单版)

    为了方便操作Mysql数据库, 封装类似thinkphp连贯操作数据库的Db类<?php header("Content-Type:text/html;charset=utf-8&qu ...

  3. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary>/// MySql 数 ...

  4. PHP访问mysql的常用函数,PHP操作MySQL数据库常用函数

    PHP操作MySQL数据库常用函数 php操作mysql数据库,俗称天龙八步: 第一步:连接数据库 第二步:判断连接错误 第三步:选择数据库 第四步:设置字符集 第五步:准备SQL语句 第六步:执行并 ...

  5. python封装类连接mysql数据_python操作mysql数据库基本类封装

    # -*- coding: UTF-8 -*- import MySQLdb as mdb class MysqldbHelper(object): """操作mysql ...

  6. mysql函数封装_Mysql对文件操作的封装

    在查看Mysql对文件的操作中发现,它在不同的操作系统上对文件的操作,除了使用标准C运行库函数,包括open.close.seek等,在Win32下的文件和目录操作函数使用了CreatFile.Clo ...

  7. python连接数据库的技术_Python操作MySQL数据库的三种方法

    (1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. ...

  8. python根据一个基类生成派生类_python中的封装继承多态

    1.封装 类的封装可以隐藏类的实现细节,迫使用户只能通过方法去访问数据,这样就可以增强程序的安全性.接下来演示未使用封装可能出现的问题,如例所示. 在例中,运行结果输出的成绩为-68,在程序中不会有任 ...

  9. python操作mysql数据库依赖包_python安装mysql的依赖包mysql-python操作

    一般情况下,使用pip命令安装即可: [root@dthost27 ~]# pip install mysql-python 但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖 ...

最新文章

  1. Kosaraju 算法检测有向图的强连通性
  2. java有画图的库吗_Java画图
  3. 网络流最大流Edmonds-Karp算法(模板)
  4. [论文学习]Manifold Mixup和PatchUp的代码重新实现(实现即插即用且速度更快)
  5. 在html中怎么制作友情链接,如何制作一个网页链接,用描文本、友情链接交易方式教你如何制作?...
  6. 查看进程状态信息命令 jps - (Java Virtual Machine Process Status Tool)
  7. 洛谷 P3368 【模板】树状数组 2(线段树区间加单点查找)
  8. 前端学习(3167):react-hello-react之鼠标移入效果
  9. 彭山计算机培训,彭山2021年初中生学计算机
  10. QT C1041错误
  11. 2012年8月20日 我单身了!
  12. 添加roster好友 命令
  13. 计算机科学与技术实践教学,浅谈计算机科学与技术实践教学体系
  14. JavaScript 编程精解 中文第三版 五、高阶函数
  15. MySQL中对索引的理解 特点 优势_深入理解MySQL索引和优化
  16. 利用tp5中的图像处理功能完成海报的图片合成
  17. EDP/DP转HDMI OUT 支持常用分辨率,最大支持4K@60Hz
  18. C语言任意输入三个数构成三角形,随便输入三个数,看能否组成一个三角形
  19. jQuery UI 拖拽功能
  20. 采用两块半球体U235金属的原子弹

热门文章

  1. 在研究所工作是什么体验?和互联网公司比,你会怎么选?
  2. Spring Cloud 2020.0.5 发布
  3. Spring Boot 2.6 正式发布:循环依赖默认禁止、增加SameSite属性...
  4. 阿里开源台柱 Ant Design 源码仓库被删了...
  5. Spring面试五连问,这怎么顶啊
  6. Kubernetes 集群的零停机服务器更新 | 文末有料!
  7. HttpClient 连接池设置不当引发的一次雪崩
  8. 永远不要在代码中使用「User」这个单词
  9. html代码复制到asp中不一样了_迷你代码编程在线成语词典
  10. dsp28335读地址c语言写法,dsp 28335 教程 附录4 dsp的c语言.ppt