SQLAlchemy-ORM

Posted 狼来的日子里!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLAlchemy-ORM相关的知识,希望对你有一定的参考价值。

  ORM是建立在SQL语言构造器之上的工具集,用于将Python对象映射到数据库的行,提供了一系列接口用于从数据库中存取对象(行)。在ORM 工作时,在底层调用SQL语言构造器的API,这些通用的操作有些许的不同。不同的是,你不再使用行,而是使用自定义类的对象来操作。另外,数据库的查询 方式也不同,ORM的可以生成大多数的SQL查询,除此之外还可以在类中定义更多操作

 

1)检查sqlalchemy版本

>>> import sqlalchemy
>>> sqlalchemy.__version__
1.2.0b2

2) 建立连接connecting

>>> from sqlalchemy import create_engine
>>> engine=create_engine("mysql+pymysql://admin:[email protected]/coursesys?charset=utf8",encoding="utf-8",echo=True)

    1)通过create_engine()建立连接,create_engine是 Engine实例,create_engine第一次调用的时候会调用Engine.execute()或者 Engine.connect()方法,
    通过dialect在数据库和DBAPI之间建立连接关系。
    注意:返回create_engine对象并没有连接到数据库。只有在执行第一次要求对数据库时才连接
    2)echo是SQLAlchemy logging 是个标准logging模型。当echo 为True看到所有生成的SQL;希望少输出,设置它 False
    3)mysql+pymysql://admin:[email protected]/coursesys?charset=utf8 是个dialect连接
    4)engine=create_engine(sqlite:///:memory:,echo=True)将使用一个只在内存中SQLite数据库

3)声明映射

我们使用ORM:映射类与数据库表。SQLAlchemy在中首先通过declarative_base申明一个基类。这个基类维持着类与数据库表的关系

>>> from sqlalchemy.ext.declarative import declarative_base
>>> Base=declarative_base()

  创建表第一种方式:在定义类继承declarative_base这个基类来映射数据表

  

>>>  class User(Base):
         __tablename__="users"
         id=Column(Integer,primary_key=True)
         name=Column(String)
         fullname=Column(String)
         password=Column(String)
         def __repr__(self):
             return "User(name=%s,fullname=%s,password=%s" %(self.name,self.fullname,self.password)
        

  __tablename__指定表名
  Column 指定字段
  primary_key 设置主键
  __repr__ 当打印User对象时显示的数据。

创建表第二种方式:通过模式创建,通过__table__可以查看定义表元数据。

  






以上是关于SQLAlchemy-ORM的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器