- tornado是python的web框架,web程序开发中数据库操作是必须的。
安装:
tornado的官方文档中提供的说明比较少,而且提供的模块中未找到数据库方面的模块,难道没有针对数据库操作进行封装?百度查询了一下才发现,tornado在升级过程中把数据库模块独立出来了。
模块为torndb模块。模块git地址:https://github.com/bdarnell/torndb 官方文档地址:http://torndb.readthedocs.org/en/latest/_modules/torndb.html
安装方法:执行命令 pip install torndb ,但是这个命令默认读取的是pypi站的索引,但是其访问不是很稳定。所以这里可以采用豆瓣的pypi索引。命令如下:
pip install -i http://pypi.douban.com/simple/ torndb
所以以后pypi站索引无法访问的时候尝试利用豆瓣的pypi索引。
使用:
连接数据库
1
2
|
import
torndb
db = torndb.Connection(hostaddress,database name,user,password)
|
查询
查询有两种查询方式,一种为get,一种为query,get是得到一行数据。query是得到一列数据。get返回数据为封装好的dict,query得到的数据为封装好的list,单元为dict。
1
2
3
|
>>> a = db.get( ‘select * from query where id=1‘ )
>>> a { ‘queryc‘ : ‘dac‘ , ‘id‘ : 1 }
|
1
2
3
|
>>> a = db.query( ‘select * from query‘ )
>>> a [{ ‘id‘ : 2 , ‘queryc‘ : ‘isca‘ }, { ‘id‘ : 1 , ‘queryc‘ : ‘dac‘ }]
|
执行sql语句
下面的命令是无返回参数的执行sql语句的方法。
1
2
3
|
string = ‘dac‘
str = ‘insert into query(id,queryc)values(%d,"%s")‘ % ( 1 ,string)
db.execute(exe) |
- MySQL命令行操作创建数据库和表的时候指定编码的命令
数据库
1
|
mysql> CREATE DATABASE IF NOT EXISTS my_db DEFAULT CHARSET utf8 COLLATE utf8_general_ci; |
数据表
1
|
mysql> CREATE TABLE my_table (name VARCHAR( 20 ) NOT NULL) type = MyISAM DEFAULT CHARSET utf8;
|