当前位置:Gxlcms > 数据库问题 > SQLAlchemy-ORM

SQLAlchemy-ORM

时间:2021-07-01 10:21:17 帮助过:24人阅读

sqlalchemy >>> sqlalchemy.__version__ 1.2.0b2

2) 建立连接connecting

>>> from sqlalchemy import create_engine
>>> engine=create_engine("mysql+pymysql://admin:admin@192.168.6.22/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:admin@192.168.6.22/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

标签:utf8   基类   log   查看   connect   base   har   自定义   users   

人气教程排行