Guest User

Untitled

a guest
Mar 24th, 2018
600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.23 KB | None | 0 0
  1. 1:
  2. ```
  3. from sqlalchemy import create_engine
  4. import os
  5. eng = create_engine("sqlite:///some.db")
  6. eng.execute("""create table employee (emp_id integer primary key,emp_name varchar)""")
  7. eng.execute("insert into employee (emp_id, emp_name) values (1,'dilbert')")
  8. r = eng.execute("select * from employee")
  9. print(r)
  10. ```
  11.  
  12. 2:
  13. ```
  14. from sqlalchemy import create_engine, MetaData, Table, Column
  15. from sqlalchemy import String, Integer, DateTime, ForeignKey
  16. from sqlalchemy import inspect
  17.  
  18. eng = create_engine("sqlite:///some.db")
  19. metadata = MetaData()
  20. net_table = Table('network', metadata,
  21. Column('network_id', Integer, primary_key=True),
  22. Column('name', String, nullable=False),
  23. Column('created_at', DateTime, nullable=False),
  24. Column('owner_id', Integer, ForeignKey('user.id'))
  25. )
  26. user_table = Table('user', metadata,
  27. Column('id', Integer, primary_key=True),
  28. Column('name', String),
  29. Column('fullname', String)
  30. )
  31. metadata.create_all(eng)
  32. metadata2 = MetaData()
  33. reflected = Table('user', metadata2, autoload=True, autoload_with=eng)
  34. inspector = inspect(eng)
  35. inspector.get_columns('network')
  36.  
  37. for inspect_table in inspector.get_table_names():
  38. for inspect_column in inspector.get_columns(inspect_table):
  39. if inspect_column ['name'] == 'story_id':
  40. print (inspect_table)
  41. ```
  42.  
  43. 3:
  44. ```
  45. from sqlalchemy import create_engine
  46. from sqlalchemy import MetaData
  47. from sqlalchemy import Table, Column
  48. from sqlalchemy import Integer, String, ForeignKey
  49. from sqlalchemy import select, func
  50. import os
  51.  
  52. metadata = MetaData()
  53. engine = create_engine("sqlite:///some.db")
  54.  
  55. user_table = Table('user', metadata,
  56. Column('id', Integer, primary_key=True),
  57. Column('username', String(50)),
  58. Column('fullname', String(50))
  59. )
  60.  
  61. metadata.create_all(engine)
  62.  
  63. print(user_table.c.fullname == 'ed')
  64. print((user_table.c.fullname == 'ed') & (user_table.c.id > 5))
  65. print((user_table.c.username == 'edward') | ((user_table.c.fullname == 'ed') & (user_table.c.id > 5)))
  66.  
  67.  
  68.  
  69. insert = user_table.insert().values(username="dilbert", fullname="Dilbert Jones")
  70. print(insert)
  71.  
  72. conn = engine.connect()
  73. r = conn.execute(insert)
  74. conn.close()
  75.  
  76. request=select([user_table.c.id, user_table.c.username, user_table.c.fullname]).\
  77. where((user_table.c.username == 'wendy')|(user_table.c.username == 'dilbert')).\
  78. order_by(user_table.c.fullname)
  79.  
  80. r=engine.execute(request)
  81. print(r.fetchall())
  82.  
  83.  
  84.  
  85. address_table = Table("address", metadata,
  86. Column('id', Integer, primary_key=True),
  87. Column('user_id', Integer, ForeignKey('user.id'), nullable=False),
  88. Column('email_address', String(100), nullable=False)
  89. )
  90. metadata.create_all(engine)
  91.  
  92. engine.execute(user_table.insert().values(username='ed', fullname='Ed Jones'))
  93. engine.execute(address_table.insert().values(user_id='2', email_address='ed@ed.com'))
  94.  
  95. request=select([user_table.c.fullname, address_table.c.email_address]).select_from(user_table.join(address_table)).\
  96. where(user_table.c.username == 'ed').order_by(address_table.c.email_address)
  97. r=engine.execute(request)
  98. print(r.fetchall())
  99.  
  100. r=engine.execute(user_table.update().values(fullname="Ed Jones").where(user_table.c.username == "ed"))
  101. print(r.rowcount)
  102.  
  103.  
  104.  
  105.  
  106. address_sel = select([address_table.c.email_address]).\
  107. where(user_table.c.id == address_table.c.user_id)
  108. print(address_sel)
  109.  
  110. r =select([user_table.c.username, address_sel.as_scalar().where(user_table.c.username.in_(['jack', 'wendy']))])
  111. print(r)
  112. print(engine.execute(r).fetchall())
  113. ```
  114.  
  115. 4:
  116. ```
  117. from sqlalchemy import create_engine
  118. from sqlalchemy import MetaData
  119. from sqlalchemy import Column, Integer, String, Numeric, func,ForeignKey
  120. from sqlalchemy.ext.declarative import declarative_base
  121. from sqlalchemy.orm import Session,relationship
  122. import os
  123.  
  124. metadata = MetaData()
  125. engine = create_engine("sqlite:///some.db")
  126.  
  127. Base = declarative_base()
  128.  
  129. class Network(Base):
  130. __tablename__ = 'network'
  131.  
  132. network_id = Column(Integer, primary_key=True)
  133. name = Column(String(100), nullable=False)
  134.  
  135. def __repr__(self):
  136. return "<User(%r, %r)>" % (self.name, self.fullname)
  137.  
  138. Base.metadata.create_all(engine)
  139.  
  140. session = Session(bind=engine)
  141. session.add_all([
  142. Network(name='net1'),
  143. Network(name='net2')
  144. ])
  145. session.commit()
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153. class User(Base):
  154. __tablename__ = 'user'
  155.  
  156. id = Column(Integer, primary_key=True)
  157. name = Column(String)
  158. fullname = Column(String)
  159.  
  160. def __repr__(self):
  161. return "<User(%r, %r)>" % (self.name, self.fullname)
  162.  
  163. Base.metadata.create_all(engine)
  164.  
  165. session.add_all([
  166. User(name='wendy', fullname='Wendy Weathersmith'),
  167. User(name='mary', fullname='Mary Contrary'),
  168. User(name='fred', fullname='Fred Flinstone'),
  169. User(name='ed', fullname='Ed Jones')
  170. ])
  171. session.commit()
  172.  
  173. query = session.query(User.fullname).order_by(User.fullname)
  174. print(query.all())
  175. query = query.filter(User.name.in_(['mary','ed']))
  176. print(query.all())
  177. print(query[1])
  178.  
  179. class Address(Base):
  180. __tablename__ = 'address'
  181.  
  182. id = Column(Integer, primary_key=True)
  183. email_address = Column(String, nullable=False)
  184. user_id = Column(Integer, ForeignKey('user.id'))
  185. user = relationship("User", backref="addresses")
  186.  
  187. def __repr__(self):
  188. return "<Address(%r)>" % self.email_address
  189.  
  190. Base.metadata.create_all(engine)
  191.  
  192. jack = User(name='jack', fullname='Jack Bean')
  193. jack.addresses = [Address(email_address='jack@gmail.com'),
  194. Address(email_address='j25@yahoo.com'),
  195. Address(email_address='jack@hotmail.com')]
  196. session.add(jack)
  197. session.commit()
  198.  
  199.  
  200.  
  201.  
  202.  
  203. class Account(Base):
  204. __tablename__ = 'account'
  205.  
  206. id = Column(Integer, primary_key=True)
  207. owner = Column(String(50), nullable=False)
  208. balance = Column(Numeric, default=0)
  209.  
  210. def __repr__(self):
  211. return "<Account(%r, %r)>" % (self.owner, self.balance)
  212.  
  213. class Transaction(Base):
  214. __tablename__ = 'transaction'
  215.  
  216. id = Column(Integer, primary_key=True)
  217. amount = Column(Numeric, default=0)
  218. account_id = Column(Integer, ForeignKey('account.id'))
  219. account = relationship("Account", backref="transactions")
  220.  
  221. def __repr__(self):
  222. return "Transaction: %r" % (self.amount)
  223.  
  224. Base.metadata.create_all(engine)
  225.  
  226. a1=Account(owner = "Jack Jones", balance = 5000)
  227. a2=Account(owner="Ed Rendell", balance=10000)
  228. session.add_all([
  229. a1,
  230. a2,
  231. Transaction(amount=500, account=a1),
  232. Transaction(amount=4500, account=a1),
  233. Transaction(amount=6000, account=a2),
  234. Transaction(amount=4000, account=a2)])
  235.  
  236. session.commit()
  237.  
  238. for account in session.query(Account).all():
  239. print(account.owner)
  240. print(account.balance)
  241. sum = 0
  242. for at in account.transactions:
  243. sum += at.amount
  244. print(sum)
  245.  
  246.  
  247.  
  248.  
  249.  
  250. query = session.query(User.name, Address.email_address).join(Address).filter(Address.email_address=="j25@yahoo.com")
  251. print(query)
  252. print (query.all())
  253.  
  254. from sqlalchemy.orm import aliased
  255.  
  256. user_alias1 = aliased(User)
  257. user_alias2 = aliased(User)
  258.  
  259. from sqlalchemy import select
  260.  
  261. query=engine.execute(select([user_alias1.name, user_alias2.name]).distinct().where(user_alias1.name < user_alias2.name))
  262. print (query.fetchall())
  263.  
  264. session.close()
  265. ```
Add Comment
Please, Sign In to add comment