SQLAlchemy参考 postgresqlsqlite工作Lotusmysql
程序员文章站
2022-03-13 08:37:23
...
阅读原文请点击:http://click.aliyun.com/m/23938/
摘要: 1. 基本流程 # -*- coding: utf-8 -*- from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy import Column from sqlalchemy.
1. 基本流程
# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column
from sqlalchemy.types import String, Integer
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('postgresql://test@localhost:5432/test')
DBSession = sessionmaker(engine)
session = DBSession()
BaseModel = declarative_base()
class User(BaseModel):
__tablename__ = 'user'
id = Column(String, primary_key=True)
username = Column(String, index=True)
class Session(BaseModel):
__tablename__ = 'session'
id = Column(String, primary_key=True)
user = Column(String, index=True)
ip = Column(String)
query = session.query(Session, User.username).join(User, User.id == Session.user)
for i in query:
print dir(i)
2. 创建连接
SQLAlchemy 的连接创建是 Lazy 的方式, 即在需要使用时才会去真正创建. 之前做的工作, 全是"定义".
连接的定义是在 engine 中做的.
2.1. Engine
engine 的定义包含了三部分的内容, 一是具体数据库类型的实现, 二是连接池, 三是策略(即engine 自己的实现).
所谓的数据库类型即是 MYSQL , Postgresql , SQLite 这些不同的数据库.
一般创建 engine 是使用 create_engine 方法:
阅读原文请点击:http://click.aliyun.com/m/23938/
摘要: 1. 基本流程 # -*- coding: utf-8 -*- from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy import Column from sqlalchemy.
1. 基本流程
# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column
from sqlalchemy.types import String, Integer
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('postgresql://test@localhost:5432/test')
DBSession = sessionmaker(engine)
session = DBSession()
BaseModel = declarative_base()
class User(BaseModel):
__tablename__ = 'user'
id = Column(String, primary_key=True)
username = Column(String, index=True)
class Session(BaseModel):
__tablename__ = 'session'
id = Column(String, primary_key=True)
user = Column(String, index=True)
ip = Column(String)
query = session.query(Session, User.username).join(User, User.id == Session.user)
for i in query:
print dir(i)
2. 创建连接
SQLAlchemy 的连接创建是 Lazy 的方式, 即在需要使用时才会去真正创建. 之前做的工作, 全是"定义".
连接的定义是在 engine 中做的.
2.1. Engine
engine 的定义包含了三部分的内容, 一是具体数据库类型的实现, 二是连接池, 三是策略(即engine 自己的实现).
所谓的数据库类型即是 MYSQL , Postgresql , SQLite 这些不同的数据库.
一般创建 engine 是使用 create_engine 方法:
阅读原文请点击:http://click.aliyun.com/m/23938/
上一篇: github支持svn提交代码了
下一篇: python操作sqlite数据库