ORM框架:AQLAlchemy
-作用:
1、提供简单的规则
2、自动转换成SQL语句 -DB first: 手动创建数据库以及表 -> ORM框架 -> 自动生成类
code first:手动创建类 ->ORM框架 -> 以及表
功能:
-创建数据库表
连接数据库(非SQLAlchemy,是pymsql)
类转换SQL语句
-操作数据行



from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint, Index
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy import create_engine Base = declarative_base()
# 创建单表
class UserType(Base):
__tablename__ = 'usertype'
id = Column(Integer, primary_key=True,autoincrement=True)
name = Column(String(32),nullable=True,default='sf',index=True) class Users(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True,autoincrement=True)
name = Column(String(32),nullable=True,default='sf',index=True)
extra = Column(String(16),unique=True)
user_type_id = Column(Integer,ForeignKey('usertype.id'))
def create_db():
engine = create_engine("mysql+pymysql://root:123@127.0.0.1:3306/t1", max_overflow=5)
Base.metadata.create_all(engine)
def delete_db():
engine = create_engine("mysql+pymysql://root:123@127.0.0.1:3306/t1", max_overflow=5)
Base.metadata.drop_all(engine)
#增加
obj1 = UserType(name='普通用户')
session.add(obj1)
session.commit()
# obj1 = UserType(name='普通用户')
objs=[
UserType(name='超级用户'),
UserType(name='白金用户'),
UserType(name='黑金用户')
]
# session.add(obj1)
session.add_all(objs)
session.commit()
session.close()
#修改
# session.query(UserType.id,UserType.name).filter(UserType.id>0).update({'name':'黑金'})
session.query(UserType.id,UserType.name).filter(UserType.id>2).update({UserType.name: UserType.name + "xxx"}, synchronize_session=False)
session.commit()
session.close()

  

# 删
# session.query(UserType.id,UserType.name).filter(UserType.id>3).delete()
# 查
# user_type_list = session.query(UserType).all()
# for row in user_type_list:
# print(row.id,row.name)
# user_type_list = session.query(UserType.id,UserType.name).filter(UserType.id>2)
# for row in user_type_list:
# print(row.id,row.name)

最新文章

  1. 【DWR系列02】-DWR逆向Ajax即服务器推送
  2. Web之路笔记之一
  3. crawler: 爬虫的基本结构
  4. JDBC使用步骤
  5. codeforces 713A A. Sonya and Queries(状态压缩)
  6. [转]VGA、QVGA、CIF、QCIF 。。。的含义
  7. Hadoop中两表JOIN的处理方法(转)
  8. 跨域使用jsonp 获取天气预报
  9. linux RedHat6.4下nginx安装
  10. zookeeper使用和原理探究(一)(转)
  11. 7个基于Linux命令行的文件下载和网站浏览工具
  12. PHP数字价格格式化,保留两位小数
  13. 赵雅智_Swift(1)_swift简单介绍及类型
  14. Andoird 自定义ViewGroup实现竖向引导界面
  15. Linux 系统的用户和组
  16. MySQL 5.7开启二进制日志注意事项
  17. 前端使用 validate , 根据条件进行动态的验证添加
  18. bzoj3698 XWW的难题
  19. Linux下SSL证书申请以及配置到Nginx
  20. [Windows Azure] How to Deploy a Database to Windows Azure

热门文章

  1. (win10 64位)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
  2. js统计字符出现次数
  3. 自动布局库--Masonry使用
  4. SpringBoot2.0之三 优雅整合Spring Data JPA
  5. 【web】movie review——静态页面训练、css训练
  6. nmap --script http-enum,http-headers,http-methods,http-php-version -p 80 目标域
  7. hihoCoder 挑战赛10 #1144 : 01串
  8. 使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript
  9. TFS看板规则
  10. iOS界面设计切图小结