时间:2021-07-01 10:21:17 帮助过:24人阅读
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