importpymysqlfrom scrapy.utils.project import get_project_settings#引入settings配置

classDBHelper():def __init__(self):

self.settings=get_project_settings()#获取settings配置数据

self.host=self.settings['MYSQL_HOST']

self.port=self.settings['MYSQL_PORT']

self.user=self.settings['MYSQL_USER']

self.passwd=self.settings['MYSQL_PASSWD']

self.db=self.settings['MYSQL_DBNAME']#连接mysql

defconnectMysql(self):

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

port=self.port,

user=self.user,

passwd=self.passwd,

charset='utf8')returnconn#连接数据库

defconnectDatabase(self):

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

port=self.port,

user=self.user,

passwd=self.passwd,

db=self.db,

charset='utf8')returnconn#创建数据库

defcreateDatabase(self):

conn=self.connectMysql()

sql="create database if not exists"+self.db

cur=conn.cursor()

cur.execute(sql)

cur.close()

conn.close()#创建数据表

defcreateTable(self,sql):

conn=self.connectDatabase()

cur=conn.cursor()

cur.execute(sql)

cur.close()

conn.close()#插入数据

def insert(self,sql,*params):

conn=self.connectDatabase()

cur=conn.cursor()

cur.execute(sql,params)

conn.commit()

cur.close()

conn.close()#更新数据

def update(self,sql,*params):

conn=self.connectDatabase()

cur=conn.cursor()

cur.execute(sql,params)

conn.commit()

cur.close()

conn.close()#删除数据

def delete(self,sql,*params):

conn=self.connectDatabase()

cur=conn.cursor()

cur.execute(sql,params)

conn.commit()

cur.close()

conn.close()#测试数据库操作

classTestDBHelper():def __init__(self):

self.dbHelper=DBHelper()deftestCreateDatebase(self):

self.dbHelper.createDatabase()deftestCreateTable(self):

sql="create table testtable(id int primary key auto_increment,name varchar(50),url varchar(200))"self.dbHelper.createTable(sql)deftestInsert(self, item):

sql="insert into example(hscode, 申报名称, 申报要素, 参考均价, 参考最高价, 参考最低价) values (%s, %s, %s, %s, %s, %s)"params=(item['hscode'], item['申报名称'], item['申报名称'], item['参考均价'], item['参考最高价'], item['参考最低价'])

self.dbHelper.insert(sql,*params)deftestUpdate(self):

sql="update testtable set name=%s,url=%s where id=%s"params=("update","update","1")

self.dbHelper.update(sql,*params)deftestDelete(self):

sql="delete from testtable where id=%s"params=("1")

self.dbHelper.delete(sql,*params)if __name__=="__main__":

testDBHelper=TestDBHelper()#testDBHelper.testCreateDatebase() #

#testDBHelper.testCreateTable() #

testDBHelper.testInsert() # #testDBHelper.testUpdate() #

#testDBHelper.testDelete() #

mysql scrapy 重复数据_scrapy关于将数据保存进mysql数据库及问题解决(增删查改)相关推荐

  1. 【MySQL】数据库中表的增删查改操作详解

    文章目录 前言 SQL的通用语法 一.表的创建与表的新增 语法 数据类型的介绍 演示 二.表的删除 语法 删整张表的语法 删记录的语法 演示 三.表的查询 查询整张表 (一)全列查询 (二)指定列查询 ...

  2. mysql怎么直接显示对象信息_对象保存进MySQL数据库,从MySQL中读取出对象信息的源码...

    数据库名:db_file_test 表名:obj 实体类: package com.bean; import java.io.Serializable; public class User imple ...

  3. table表格的增删查改、图片的处理、数据的导入导出

    之前我们讲过一个数据库里面的增删查改和用jquer讲了一些简单的增删查改,没有做任何的判断,这次还是使用table的表格给它加一些条件的判断. 图表 1 图表 2 图表 3 图表1.图表2.图表3是h ...

  4. MySQL防止重复插入唯一限制的数据 4种方法

    MySQL防止重复插入唯一限制的数据,下面我们逐一分析 : 1.insert ignore into  当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确 ...

  5. MySQL - 对数据表进行“增删查改”的基础操作 - 细节狂魔

    文章目录 前文知识点回顾 正文 :对数据表进行"增删查改"操作 新增操作 - insert 关键字 查找语句(基础操作) - select关键字 - 重点!!!!!!!! 1.最基 ...

  6. MySQL第二讲 - 数据表简单操作 与 “增删查改的开头部分- 增”- 细节狂魔

    文章目录 前文知识点回顾   SQL语句 >>操作指令 (不区分大小写) 1.显示数据库:show databases; 2.创建数据库:create database 数据库名; [如果 ...

  7. scrapy爬取京东商品评论并保存至Mysql数据库中

    scrapy爬取京东商品评论并保存至Mysql数据库 一.总体概述 二.实践过程 2.1网页解析 2.2使用单线程爬取代码如下: 2.3使用scrapy爬取数据 2.4绘制词云图结果: 三.总结 一. ...

  8. HTML+PHP搭建一个生物数据增删查改网站

    HTML+PHP搭建一个生物数据增删查改网站 目录 HTML+PHP搭建一个生物数据增删查改网站 1.使用说明 2.代码 主要分为一下两个部分介绍这个project: 1.使用说明 自己写了个比较简单 ...

  9. MyBatis实现数据的增删查改

    MyBatis的配置请参考我的上一篇文章,在上一篇文章的基础上我们实现数据的增删查改. 创建实现增删查改的xml文件,这里才是真正实现增删查改的文件. 创建完后要在配置文件中注册创建好的xml文件: ...

最新文章

  1. mysql系统的功能_MySQL系统架构及功能概述
  2. php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
  3. DBGrid 应用全书(一)
  4. kettle将多个文件压缩_如何使用WinRAR将一个大文件压缩成多个小的压缩包
  5. 机器学习笔记:梯度下降
  6. CentOS 7镜像下载和安装教程
  7. 避免入坑:如何知道一个导师的人品?
  8. 专家票选! 2020 年度 10 篇人工智能经典论文(6-10)
  9. Leetcode 1. 两数之和 (Python版)
  10. android数字累加,Android自己设置View之数字自动增长
  11. 看视频学编程之最最基础的基础(1)
  12. ajax核心技术1---XMLHttpRequset对象的使用
  13. Git笔记(38) 凭证存储
  14. 【Ubuntu】Ubuntu16.04+VMware+Win10安装及配置教程
  15. 从微店到小程序店,微商仍是电商途中的苦行僧?
  16. JavaScript数据类型之赋值运算符(10)
  17. autosar 与osek 的nm
  18. 联想计算机e480,【晒单】联想ThinkPad E480外观性能屌炸天
  19. p2p通信原理及实现
  20. 手势识别:使用EfficientNet模型迁移、VGG16模型迁移

热门文章

  1. map集合——阅读理解(洛谷 P3879)
  2. html中foreach遍历list,foreach遍历----for(object o: list)
  3. text html mime img,使用Python的email.mime.multipart发送HTML邮件时命...
  4. 运算阶乘的代码_【必修1】2.4可以复用的代码
  5. datetime报错 sql脚本_SQLSERVER 中datetime 和 smalldatetime类型分析说明
  6. 关于 AWR/ASH 故障分析,我有 9 个问题不知当不当问?
  7. 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
  8. 云原生应用Go语言:你还在考虑的时候,别人已经应用实践
  9. 【华为云技术分享】DAS文件上传组件的进化
  10. 【华为云技术分享】序列特征的处理方法之二:基于卷积神经网络方法