您的位置:首页 > 编程语言 > Python开发

Python开发【模块】:torndb

2017-05-26 11:26 267 查看

Torndb模块

  概要:torndb是一个轻量级的基于MySQLdb封装的一个模块,其是tornado框架的一部分。其项目主页为:https://github.com/bdarnell/torndb 。从tornado3.0版本以后,其已经作为一个独立模块发行了。可以通过easy_install 或pip的方式直接安装。

错误:



出现这种情况后,需要载windows上安装MySQL-python-1.2.3.win-amd64-py2.7.exe安装包,点击下载

Linux操作:

wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz tar zxf MySQL-python-1.2.3.tar.gz && cd MySQL-python-1.2.3
python setup.py build
python setup.py install   安装成功


1、连接数据库

# 创建连接
import torndb
# 数据库、账号、密码、时区
db = torndb.Connection("192.168.1.134:3306",'Jefrey',user='lzl',password='123456',time_zone='+8:00')


补充:

默认字符集UTF8,没必要在加上 charset = "utf8"

另外需要注意的是其默认时区为time_zone='+0:00'

这个可以手动在连接的时候指定为东8区

2、创建数据表

# 创建
create='create table blog(id int,content text)'
db.execute(create)


3、插入数据

①、execute

# 插入execute
# execute='insert into blog(id,content)values(%d,"%s")'%(7,'Jefrey5')
# db.execute(execute)


②、insert

# 单条insert
insert =  'insert into blog(id,content)values(%s,%s)'
db.insert(insert,10,'Jefrey10')


③、insertmany

# insertmany
insertmany =  'insert into blog(id,content)values(%s,%s)'
db.insertmany(insert,[[11,'Jefrey11'],[12,'Jefrey12']])


  

4、查询数据

①、query查询

# Query查询
sql = 'SELECT * FROM blog WHERE content = %s AND id < %s'
# 查询到一条数据时为列表
database = db.query(sql, 'Jefrey', 11)
# [{'content': u'Jefrey', 'id': 1L}]

# 查询到多条数据为也为列表
database5 = db.query(sql, 'Jefrey5', 11)
# [{'content': u'Jefrey5', 'id': 5L}, {'content': u'Jefrey5', 'id': 8L}, {'content': u'Jefrey5', 'id': 7L}]

# 查询数据不存在时为空列表
database10 = db.query(sql, 'Jefrey10', 11)
# []


生产上的一些例子:

# 包含时元祖内可以是str也可是int limit必须为数字
SELECT * FROM lxb.tx_vcall where sn in ('100',110) limit 0,3;
SELECT * FROM lxb.tx_vcall where sn in ('100','110')

# 等于时可以是str也可是int
SELECT * FROM lxb.tx_vcall where sn='100'
SELECT * FROM lxb.tx_vcall where sn=100

# 大于时可以是str
SELECT * FROM lxb.tx_vcall where sn>'100' limit 0,2
SELECT * FROM lxb.tx_vcall where sn>'100,110' limit 0,2      #效果同上


②、get查询

# Get查询
sql = 'SELECT * FROM blog WHERE content = %s AND id < %s'
# 查询到一条数据时为字典
database = db.get(sql, 'Jefrey', 11)
# {'content': u'Jefrey', 'id': 1L}

# 查询到多条数据时报错
database5 = db.get(sql, 'Jefrey5', 11)
# Exception: Multiple rows returned for Database.get() query

# 查询数据不存在时为None
database10 = db.get(sql, 'Jefrey10', 11)
# None


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: