Guest User

Untitled

a guest
Nov 20th, 2017
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. Задание 6
  2. ### title:: Exercises
  3. # Produce this SELECT:
  4. #
  5. # SELECT fullname, email_address FROM user JOIN address
  6. # ON user.id = address.user_id WHERE username='ed'
  7. # ORDER BY email_address
  8. #Запрос
  9. from sqlalchemy import create_engine
  10. from sqlalchemy import MetaData
  11. from sqlalchemy import Table, Column
  12. from sqlalchemy import Integer, String
  13. from sqlalchemy import select
  14. from sqlalchemy import ForeignKey
  15. metadata = MetaData()
  16.  
  17. user_table = Table('user', metadata,
  18. Column('id', Integer, primary_key=True),
  19. Column('username', String(50)),
  20. Column('fullname', String(50))
  21. )
  22.  
  23. address_table = Table("address", metadata,
  24. Column('id', Integer, primary_key=True),
  25. Column('user_id', Integer, ForeignKey('user.id'), nullable=False),
  26. Column('email_address', String(100), nullable=False)
  27. )
  28.  
  29.  
  30. e2 = create_engine("sqlite://")
  31. metadata.create_all(e2)
  32. conn = e2.connect()
  33.  
  34. conn.execute(address_table.insert(), [
  35. {"user_id": 1, "email_address": "ed@ed.com"},
  36. {"user_id": 1, "email_address": "ed@gmail.com"},
  37. {"user_id": 2, "email_address": "jack@yahoo.com"},
  38. {"user_id": 3, "email_address": "wandy@gmail.com"},
  39. ])
  40.  
  41. join_obj = user_table.join(address_table,
  42. user_table.c.id == address_table.c.user_id)
  43.  
  44. select_s = select([user_table, address_table]).select_from(join_obj).\
  45. where(user_table.c.username == 'ed').\
  46. order_by(address_table.c.email_address)
  47.  
  48. result = conn.execute(select_s)
  49. print(result)
  50.  
  51. #Ответ
  52. #marina@debian:~$ python lab53.py
  53. #<sqlalchemy.engine.result.ResultProxy object at 0xb6a5b22c>
Add Comment
Please, Sign In to add comment