dmSQLAlchemy.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # coding: utf-8
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.orm import sessionmaker
  4. from Product import Base, Product
  5. def main():
  6. #dialect 是SQLAlchemy用来与各种类型的DBAPI和数据库通信的系统。
  7. conn_url = 'dm+dmPython://SYSDBA:SYSDBA001@192.168.1.202:30236'
  8. #创建Engine对象
  9. engine = create_engine(conn_url)
  10. #创建DBSession对象
  11. DBSession = sessionmaker(bind=engine)
  12. Base.metadata.create_all(engine) # 创建表结构
  13. fun_select_all(DBSession)
  14. # # 插入
  15. fun_insert(DBSession)
  16. fun_select_all(DBSession)
  17. # # 插入
  18. fun_insert1(DBSession)
  19. fun_select_all(DBSession)
  20. # # 更新
  21. fun_update(DBSession)
  22. fun_select_all(DBSession)
  23. # # 删除
  24. fun_delete(DBSession)
  25. fun_select_all(DBSession)
  26. def fun_select_all(DBSession):
  27. # 创建Session
  28. session = DBSession()
  29. # 查询所有的
  30. list_product = session.query(Product).all()
  31. print('查询所有结果:')
  32. for product in list_product:
  33. print(product.NAME)# , product.AUTHOR, product.PUBLISHER )
  34. print('')
  35. session.close()
  36. def fun_insert(DBSession):
  37. # 创建Session
  38. session = DBSession()
  39. new_product = Product()
  40. new_product.NAME = '水浒传'
  41. # new_product.AUTHOR = '施耐庵,罗贯中'
  42. # new_product.PUBLISHER = '中华书局'
  43. # new_product.PUBLISHTIME = '2005-4-1'
  44. # new_product.PRODUCTNO = '9787101046137'
  45. # new_product.SATETYSTOCKLEVEL = '10'
  46. # new_product.ORIGINALPRICE = '19'
  47. # new_product.NOWPRICE = '14.3'
  48. # new_product.DISCOUNT = '7.5'
  49. # new_product.DESCRIPTION = ''' 《水浒传》是宋江起义故事在民间长期流传基础上产生出来的,吸收了民间文学的营养。'''
  50. # new_product.PHOTO = ''
  51. # new_product.TYPE = '16'
  52. # new_product.PAPERTOTAL = '922'
  53. # new_product.WORDTOTAL = '912000'
  54. # new_product.SELLSTARTTIME = '2006-03-20'
  55. # new_product.SELLENDTIME = ''
  56. session.add(new_product)
  57. session.commit()
  58. print('插入成功')
  59. session.close()
  60. def fun_insert1(DBSession):
  61. session = DBSession()
  62. new_product = Product()
  63. new_product.NAME = '红楼梦'
  64. session.add(new_product)
  65. session.commit()
  66. session.close()
  67. def fun_update(DBSession):
  68. # 创建Session
  69. session = DBSession()
  70. product = session.query(Product).filter(Product.NAME == '水浒传').one()
  71. product.NAME = '水浒'
  72. session.commit()
  73. print('更新成功')
  74. session.close()
  75. def fun_delete(DBSession):
  76. # 创建Session
  77. session = DBSession()
  78. session.query(Product).filter(Product.NAME == '水浒').delete()
  79. session.commit()
  80. print('删除成功')
  81. session.close()
  82. if __name__ == '__main__':
  83. main()