ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SqlAlchemy

2021-02-04 16:04:50  阅读:227  来源: 互联网

标签:__ sqlalchemy Column ORM SqlAlchemy 基类 True


目录



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()


相关资料


标签:__,sqlalchemy,Column,ORM,SqlAlchemy,基类,True
来源: https://www.cnblogs.com/fldev/p/14373055.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有