数据是怎么存储在mysql?


当前第2页 返回上一页

代码部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

class MysqlTwistedPipline(object):

    def __init__(self,dbpool):

        self.dbpool = dbpool    @classmethod

    def from_settings(cls,settings):

        dbparms = dict(

            host = settings["MYSQL_HOST"],

            db   = settings["MYSQL_DBNAME"],

            user = settings["MYSQL_USER"],

            passwd = settings["MYSQL_PASSWORD"],

            charset = 'utf8',

            cursorclass = MySQLdb.cursors.DictCursor,

            use_unicode=True,

        )

        dbpool = adbapi.ConnectionPool("MySQLdb",**dbparms)        return cls(dbpool)    def process_item(self, item, spider):

        #使用Twisted将mysql插入变成异步执行

        #runInteraction可以将传入的函数变成异步的

        query = self.dbpool.runInteraction(self.do_insert,item)        #处理异常

        query.addErrback(self.handle_error,item,spider)    def handle_error(self,failure,item,spider):

        #处理异步插入的异常

        print(failure)    def do_insert(self,cursor,item):

        #会从dbpool取出cursor

        #执行具体的插入

        insert_sql = """

                    insert into jobbole_article(title,create_date,url,url_object_id) VALUES (%s,%s,%s,%s)

                """

        cursor.execute(insert_sql, (item["title"], item["create_date"], item["url"], item["url_object_id"]))       #拿传进的cursor进行执行,并且自动完成commit操作

以上代码部分,除了do_insert之外,其它均可复用。

以上就是数据是怎么存储在mysql?的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

mysql源码包如何安装

php数据库操作之基于mysqli的数据库操作类库

pymysql模块的使用(增删改查)详解

mysql和navicat的关系是什么

mysql 5.7.18 安装配置方法图文教程(centos7)

nacicat怎么连接mysql数据库?

细说mysql死锁与日志二三事

mysql一共有多少种存储引擎?

mysql 中查看表结构的命令有哪些

mysql中关于表数据文件损坏导致数据库无法启动的问题解决

更多相关阅读请进入《数据存储》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...