SqlAlchemy



SQLAlchemy 是什么?

SQLAlchemy SQL工具包和对象关系映射器 是一组用于处理数据库和Python的全面工具。
它具有几个不同的功能区域,可以单独使用或组合在一起使用。
其主要组件如下图所示,组件依赖性分为几个层次:

以上,SQLAlchemy的两个最重要的前端部分是对象关系映射器和 SQL表达式语言。SQL表达式可以独立于ORM使用。在使用ORM时,SQL表达式语言仍然是面向公众的API的一部分,因为它在对象关系配置和查询中使用。


安装

$ sudo pip install sqlalchemy

使用

配置引擎

from sqlalchemy.engine import create_engine

    conn_url = 'mysql://root:123456@127.0.0.1:3306/testlogin?charset=utf8'
  
  	# echo=True 将操作指令显示到控制台
    engine = create_engine(conn_url, encoding='utf-8', echo=True)
    

声明ORM基类

(这个基类的子类会自动和数据库表进行关联)

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base(bind=engine)
    

创建ORM类

# 导入列和数据类型
from sqlalchemy import Column # 列
from sqlalchemy.types import Integer,String,Date,DateTime,Float,Text # 字段类型

class User(Base):
    __tablename__='t_cuser'

    id = Column(Integer,primary_key=True,autoincrement=True)
    account = Column(String(length=8),unique=True)
    pwd = Column(String(length=3))
    birth = Column(Date)
    score = Column(Float(decimal_return_scale=2))

    def __repr__(self):
        return '[User:%s,%s]'%(self.id,self.account)

class Address(Base):
    __tablename__='t_addr'

    id = Column(Integer,primary_key=True,autoincrement=True)
    aname = Column(String(30),unique=True)
     

利用基类创建数据库表

#如果表已经存在,则不执行当前存在表的创建操作
Base.metadata.create_all()

# 利用基类删除所有的数据库表
Base.metadata.drop_all()


相关资料


posted @ 2021-02-04 15:54  月思  阅读(118)  评论(0编辑  收藏  举报