Python开发【模块】:torndb
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
Python开发【模块】:torndb的更多相关文章
- python开发模块基础:re正则
一,re模块的用法 #findall #直接返回一个列表 #正常的正则表达式 #但是只会把分组里的显示出来#search #返回一个对象 .group()#match #返回一个对象 .group() ...
- python开发模块基础:异常处理&hashlib&logging&configparser
一,异常处理 # 异常处理代码 try: f = open('file', 'w') except ValueError: print('请输入一个数字') except Exception as e ...
- python开发模块基础:os&sys
一,os模块 os模块是与操作系统交互的一个接口 #!/usr/bin/env python #_*_coding:utf-8_*_ ''' os.walk() 显示目录下所有文件和子目录以元祖的形式 ...
- python开发模块基础:序列化模块json,pickle,shelve
一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文 ...
- python开发模块基础:time&random
一,time模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该首先导入这个模块 常用方法1.(线程)推迟指定的时间运行.单位为秒. time.sleep(1) #括号内为整数 2.获取当前 ...
- python开发模块基础:collections模块¶miko模块
一,collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...
- python开发模块基础:正则表达式
一,正则表达式 1.字符组:[0-9][a-z][A-Z] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示字符分为很多类,比如数字.字母.标点等等.假如你现在要求一个位置&q ...
- Python开发——目录
Python基础 Python开发——解释器安装 Python开发——基础 Python开发——变量 Python开发——[选择]语句 Python开发——[循环]语句 Python开发——数据类型[ ...
- Python开发【第六篇】:模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- python辅助开发模块(非官方)如pil,mysqldb,openpyxl,xlrd,xlwd
官方文档 只是支持win32, 不支持win64 所以很麻烦 民间高人,集中做了一堆辅助库,下载后,用python安装目录下的scripts中,pip和easy_install就可以安装了 pytho ...
随机推荐
- Unity带参数的协程
两种方法都可以传递参数,代码如下: using UnityEngine; using System.Collections; public class Test : MonoBehaviour { v ...
- mysql中什么是物理备份?
需求描述: 今天在看数据库备份,恢复的内容,就是对于一个概念,物理备份的理解,在这里记录下. 概念解释: 物理备份:就是对存储数据库内容的目录和文件的直接拷贝.简单来说,就是对物理文件的拷贝. 文档创 ...
- libui-node体验笔记
简介 libui-node是基于libui库的node封装.libui库是一个简便的将本地原生的GUI封装的C语言库,并支持各平台(Mac,Linux,windows).官网提供了第三方封装文档,开发 ...
- import 和 import {} 的区别
http://es6.ruanyifeng.com/#docs/module#export
- QQ第三方登录实例demo(QQSDK包优化)
实现效果: 实现流程: 1.注冊QQ互联开发人员 QQ互联官网 注冊成为开发人员(须要审核) 2.审核通过之后 申请应用(须要互联人员审核*须要备案成功的线上域名) 以下我们開始下载QQsdk包 QQ ...
- MySQL<事务与存储过程>
事务与存储过程 事务管理 事务的概念 谓的事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,即事务中的语句要么都执行,要么都不执行. 事务的使用 开启事务 ...
- MySQL<数据库和表的基本操作>
数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...
- Topic 与 Partition
Topic在逻辑上可以被认为是一个queue队列,每条消息都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为 了使得Kafka的吞吐率可以水平扩展,物理上把topic分 ...
- MySQL只有information_schema,test两个数据库
一.现象 1.今天登上数据库,用 mysql -uroot -proot 登录(本人密码是root),出现: 2.然后尝试 无密码登录,竟然登录成功: 3.查看mysql中的数据库,发现只有两个系统表 ...
- android 仿QQ手机版
千人2群开启,欢迎大家围观打酱油,群号145667827 您当前位置 : JavaApk-安卓应用游戏源码服务专家 » QQ » Android项目源码界面超级华丽的仿QQ最新版本 Andro ...