1. 程式人生 > >Tornado-數據庫(torndb包)

Tornado-數據庫(torndb包)

class a con 查詢 class pri ase ini query nec

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的列表。

Tornado-數據庫(torndb包)