数据是怎么存储在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?的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

[深度liunx系统]安装数据库mysql和mysql workbench

mysql如何处理高并发

怎么看mysql安装路径

详解mysql通讯协议

mysql中all的用法是什么

mysql源码是什么语言

mysql禁止外部访问解决方案

浅谈mysql原理与优化(一)之历史与体系结构

mysql的四种事务隔离级别

关系数据库管理系统中所谓的关系指的是什么?

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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