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
相关文章推荐
- c++开发python扩展模块:cannot open file ‘python25_d.lib’解决办法
- python 语言开发组合模块,为软件整合提供帮助
- 如何在windows下的Python开发工具IDLE里安装其他模块
- 如何在windows下的Python开发工具IDLE里安装其他模块?
- Python开发安装的一些常用模块
- 使用Visual Studio.Net 2005开发Python扩展模块
- 在win7下安装python开发环境和numpy,scipy,matplotlib模块的问题
- 高效开发Python扩展模块方法:用SWIG封装C/C++代码
- 每天进步一点点——Ganglia的Python扩展模块开发
- Window上python开发--4.Django的用户登录模块User
- 高效开发Python扩展模块方法:用SWIG封装C/C++代码
- 如何在windows下的Python开发工具IDLE里安装其他模块?
- python开发_webbrowser_浏览器控制模块
- 如何在windows下的Python开发工具IDLE里安装其他模块
- Window上python开发--4.Django的用户登录模块User
- C++开发python扩展模块:ImportError: dynamic module does not define init function (initRabbit)解决办法
- python开发_xml.etree.ElementTree_XML文件操作_该模块在操作XML数据是存在安全隐患_慎用
- python使用urllib模块开发的多线程豆瓣小站mp3下载器
- 如何在windows下的Python开发工具IDLE里安装其他模块?
- Ubuntu下安装python的torndb开发环境