python sqlalchemy core 基本操作

Posted on Posted in python

> code 基本操作

  1. #!/usr/bin/env python  
  2. # coding:utf-8  
  3. import sqlalchemy  
  4.   
  5. print sqlalchemy.__version__  
  6.   
  7. from sqlalchemy import create_engine  
  8. from sqlalchemy import Table, Column , Integer,String ,MetaData,ForeignKey  
  9.   
  10. engine = create_engine('sqlite:///foo.db',echo=True)  
  11.   
  12. # 表结构  
  13. metadata = MetaData()  
  14. users = Table('users',metadata,Column('id',Integer,primary_key=True),Column('name',String),Column('fullname',String))  
  15. addresses = Table('addresses',metadata, Column('id',Integer,primary_key=True), Column('user_id',None, ForeignKey('users.id')),Column('email_address', String, nullable=False))  
  16.   
  17. metadata.create_all(engine) # 创建表  
  18. # 建立一个数据库引擎链接  
  19. conn = engine.connect()  
  20. # 插入数据  
  21. # conn.execute(users.insert(),[dict(name='jack',fullname='jack Jones'), dict(name='wendy', fullname='Wendy fullname')])  
  22. #conn.execute(addresses.insert(),[  
  23. #   {'user_id':1, 'email_address':'1.qq@com'},  
  24. #   {'user_id':1, 'email_address':'1.qq@com'},  
  25. #   {'user_id':2, 'email_address':'2.qq@com'},  
  26. #   {'user_id':2, 'email_address':'2.qq@com'}  
  27. #])  
  28.   
  29. # 查询  
  30. from sqlalchemy.sql import select  
  31. #s = select([users])  
  32. #result = conn.execute(s)  
  33. #for row in result:  
  34. #   print row  
  35.   
  36. s = select([users,addresses]).where(users.c.id == addresses.c.user_id)  
  37. for row in conn.execute(s):  
  38.     print row  
» 转载请注明来源:若我若鱼 » python sqlalchemy core 基本操作

Leave a Reply

Your email address will not be published. Required fields are marked *

9 − 9 =