sqlalchemy 的 ORM 与 Core 混合方式使用示例
2016-05-21 12:34
567 查看
知乎: sqlalchemy 的 ORM 与 Core 混合方式操作数据库是一种怎样的体验?
答: 酸!
本文基于:win 10 + python 3.4 + sqlalchemy 1.0.13
基本步骤如下:
答: 酸!
本文基于:win 10 + python 3.4 + sqlalchemy 1.0.13
基本步骤如下:
1. 绑定数据库
from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:',echo = True)
2. 建立会话
from sqlalchemy.orm import Session session = Session(engine)
3. 元数据
from sqlalchemy import MetaData metadata = MetaData(engine)
4. 定义表
from sqlalchemy import Table, Column, Integer, String, ForeignKey users_table = Table('users', metadata, Column('id', Integer, primary_key = True), Column('name', String), Column('fullname', String), Column('password', String) )
5. 创建表
# metadata.create_all() # 方式一 users_table.create() # 方式二
6. 定义类
class User(object): def __init__(self,name,fullname,password): self.name = name self.fullname = fullname self.password = password def __repr__(self): return "<User('%s','%s','%s')>" % (self.name, self.fullname, self.password)
7. 映射类、表
from sqlalchemy.orm import mapper mapper(User, users_table)
8. 然后,就可以使用会话对数据库进行操作
session.add(User('ed','Ed Jones','edspassword')) session.commit()
9. 完整代码
# 绑定数据库
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:',echo = True)
# 建立会话
from sqlalchemy.orm import Session
session = Session(engine)
# 元数据
from sqlalchemy import MetaData
metadata = MetaData(engine)
# 定义表
from sqlalchemy import Table, Column, Integer, String, ForeignKey
users_table = Table('users', metadata,
Column('id', Integer, primary_key = True),
Column('name', String),
Column('fullname', String),
Column('password', String)
)
# 创建表
# metadata.create_all() # 方式一 users_table.create() # 方式二
# 定义类
class User(object): def __init__(self,name,fullname,password): self.name = name self.fullname = fullname self.password = password def __repr__(self): return "<User('%s','%s','%s')>" % (self.name, self.fullname, self.password)
# 映射类、表
from sqlalchemy.orm import mapper
mapper(User, users_table)
# 然后,就可以使用会话对数据库进行操作
session.add(User('ed','Ed Jones','edspassword')) session.commit()
相关文章推荐
- mysql 批量更新的四种方法
- oracle 用函数查询怎么直接返回一个表
- MYSQL用户操作
- SQL SERVER 字符串函数
- sqlalchemy 的 Core 方式使用示例
- SQL Server 2008 ——关系
- 【Linux】redis集群
- 了解数据库语句
- 使用C# 怎么生成.db后缀的文件,并且能够使用sql语言进行读取等 操作
- 图解用MySQL创建进销存数据库
- 在sqlserver中如何导入.db数据库文件
- jsp excel数据 添加到 数据库表中
- DB扩展名的数据库文件怎么打开:两种db数据库的打开方式
- Redis简介,安装和配置,停止,卸载(图解方式)
- sql 相关
- 数据存储知识(3)--mysql主从服务器的搭建
- 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案
- MySQL复制表结构,表数据。
- 数据库操作封装类 DBHelper.cs
- mysql5.7.9安装步骤及如何将原来数据库中的数据复制到新的数据库中使用