SqlAlchemy 建立数据库链接
对于现有数据库,可用sqlalchemy建立连接,查询表结构及数据。
以下代码例子中,通过创建engine,链接数据库corvus.db,并打印其中User这个表的字段结构。
from sqlalchemy import * engine=create_engine('sqlite:///corvus.db',echo=True) metadata=MetaData(engine) user_table=Table('User',metadata,autoload=True) for column in list(user_table.columns): print column.name
接下来是查询并逐行打印数据:
cmd_select = user_table.select() result = cmd_select.execute() data_list =list(result.fetchall()) for data in data_list: print data
当我们打印记录时返回的可执行对象,它以元组打印记录。例:
>>> result.fetchall() [(2,u'Tom',None),(3,u'Fred',None),(4,u'Harry',None)]
当前的User表有3条记录,这些记录实际上同时支持列表(list)和字典(dict)接口。字典接口允许通过字符串的列名定位字段,或者通过Column对象:
>>> data=result.fetchone() >>> print row (4,u'Harry',None) >>> data.keys() ['user_id','user_name','password']
要获取某字段的数据,同时可以用三种方式:
>>>data['user_id'] 4 >>>data[0] 4 >>>data[users_table.c.user_id] 4
浙公网安备 33010602011771号