黑马程序员技术交流社区

标题: 【郑州校区】Tornado-数据库(torndb包) [打印本页]

作者: 我是楠楠    时间: 2019-11-27 15:16
标题: 【郑州校区】Tornado-数据库(torndb包)
【郑州校区】Tornado-数据库(torndb包)

1、torndb数据库简介
    在Tornado3.0版本以前提供tornado.database模块用来操作MySQL数据库,而从3.0版本开始,此模块就被独立出来,作为torndb包单独提供。torndb只是对MySQLdb的简单封装,不支持Python 3。


2、torndb安装
    pip install torndb


3、连接初始化
    class Applicatin(tornado.web.application):
        def __init__(self):
            handler = [
                (r"index/",IndexHandler),
            ]

            settings = dic(
                template_path = os.path.join(os.path.dirname(__file__),"templates"),
                static_path = os.path.join(os.path.dirname(__file__),"static")
            )

            super(Application,self).__init__(handler,**settings)

            self.db = torndb.Connection(
                host = "127,0,0,1",
                database = "ihome",
                user = "root",
                pwd = "mysql"
            )


4、使用数据库
    1、执行语句
        1、execute(query,*patameters,**kwparameters)
            1、query:要执行的sql语句

            2、*patameters:为sql语句中指定的参数进行数据的传值

            3、**kwparameters:为sql语句中指定的参数进行数据的赋值操作

            4、返回影响的最后一条自增字段值
        2、execute_rowcount(query,(patameters,**kwparameters))
            1、query:要执行的sql语句

            2、*patameters:为sql语句中指定的参数进行数据的传值

            3、**kwparameters:为sql语句中指定的参数进行数据的赋值操作

            4、返回受影响行数

        3、实例:
            db.execute("insert into houses(title, position, price, score, comments) values(%s, %s, %s, %s, %s)", "独立装修小别墅", "紧邻文津街", 280, 5, 128)
            或
            db.execute("insert into houses(title, position, price, score, comments) values(%(title)s, %(position)s, %(price)s, %(score)s, %(comments)s)", title="独立装修小别墅", position="紧邻文津街", price=280, score=5, comments=128)


    2、查询语句
        1、get(query, parameters, *kwparameters)
            1、query:要执行的sql语句

            2、*patameters:为sql语句中指定的参数进行数据的传值

            3、**kwparameters:为sql语句中指定的参数进行数据的赋值操作

            4、返回单行结果或None,若出现多行则报错。返回值为torndb.Row类型,是一个类字典的对象,即同时支持字典的关键字索引和对象的属相访问。

        2、query(query, parameters, *kwparameters)
            1、query:要执行的sql语句

            2、*patameters:为sql语句中指定的参数进行数据的传值

            3、**kwparameters:为sql语句中指定的参数进行数据的赋值操作

            4、返回多行结果,torndb.Row的列表。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2