#建表
from sqlalchemy import create_engine,Table,Column,Integer,String,MetaData,ForeignKey
engine = create_engine('sqlite:///:memory:',echo=True)
metadata = MetaData()
users = Table('users',metadata,
Column('id',Integer,primary_key=True),
#SQLite和Postgresql允许不带长度,如果是其他数据库则应该为
#Column('name',String(50)),
Column('name',String),
Column('fullname',String),
)
address = Table('address',metadata,
Column('id',Integer,primary_key=True),
Column('user_id',None,ForeignKey('users.id')),
Column('email_address',String,nullable=False),
)
metadata.create_all(engine)
#插入
#coding:GBK
from connection import *
ins = users.insert().values(name='jack',fullname='jack Jones')
print str(ins)
print ins.compile().params
#Executing
conn = engine.connect()
print conn
result = conn.execute(ins)
print result.inserted_primary_key
#Executing Multipe Statements
ins = users.insert()
conn.execute(ins,id=2, name='wendy',fullname='Wendy Williams')
conn.execute(address.insert(),[
{'user_id':1,'email_address':'jack@yahoo.com'},
{'user_id':1,'email_address':'jack@msm.com'},
{'user_id':2,'email_address':'www@www.org'},
{'user_id':2,'email_address':'wendy@aol.com'},
])
#Bind Connection
metadata.bind = engine
result = users.insert().execute(name='mary',fullname='Mary contary')
#查询
from InsertExpressions import *
from sqlalchemy.sql import select,text
s = select([users])
result = conn.execute(s)
for row in result:
print row
result = conn.execute(s)
row = result.fetchone()
print row
print row['name'],row['fullname']
s = select([users.c.name, users.c.fullname])
result = conn.execute(s)
for row in result:
print row
for row in conn.execute(select([users, address])):
print row
s = select([users, address], users.c.id==address.c.user_id)
for row in conn.execute(s):
print row
s = text("""SELECT users.fullname || ', ' || address.email_address AS title
FROM users, address
WHERE users.id = address.user_id AND users.name BETWEEN :x AND :y AND
(address.email_address LIKE :e1 OR address.email_address LIKE :e2)
""")
print conn.execute(s,x='m', y='z', e1='%@aol.com', e2='%@msn.com').fetchall()
参考资料:
http://www.sqlalchemy.org/docs/core/tutorial.html
分享到:
相关推荐
在Python中,SQLAlchemy是一个强大的ORM(Object-Relational Mapping)库,它允许开发者以面向对象的方式处理数据库操作。本篇文章将深入解析如何使用SQLAlchemy来操作已存在的数据库表,而不涉及自建表的过程。 首先...
本文介绍了如何在Flask应用中使用MySQL数据库,并重点讨论了通过SQLAlchemy实现数据库操作的方法。从简单的原生SQL语句执行到高级的ORM应用,Flask提供了丰富的工具和技术来帮助开发者高效地管理数据。通过本文的...
### SQLAlchemy技术文档(中文版)知识点总结 #### 1. 版本检查 - **功能说明**:在使用SQLAlchemy之前,确保安装的版本符合项目需求是非常...通过这些步骤,可以有效地利用SQLAlchemy管理数据库操作,提高开发效率。
`SQLAlchemy`是Python中的一款强大的ORM(对象关系映射)库,它允许开发者使用Python类来定义数据库模式,并在Python代码中操作这些模式,从而避免了直接编写SQL语句的繁琐。在这个“sqlalchemy的使用举例源码”中,...
SQLAlchemy是Python中的一款强大的对象关系映射(ORM)库,它允许开发者使用Python类来定义数据库模式,并在这些类上执行SQL操作。这篇“SQLAlchemy学习笔记1”可能涉及了初学者入门的一些核心概念,包括数据库配置...
在Python中,SQLAlchemy是一个强大的对象关系映射(ORM)框架,它允许开发者使用Python对象来操作数据库,极大地简化了数据库操作。本文将深入探讨SQLAlchemy 1.4.13版本的特性、用途以及如何使用。 SQLAlchemy的...
附件是一个简单的示例,展示了如何使用Python和SQLite数据库来完成一个基本的数据库课程设计,这个示例将创建一个...此外,对于更复杂的项目,可能需要使用ORM(对象关系映射)工具,如SQLAlchemy,来简化数据库操作。
SqlAlchemy是Python编程语言中的一个流行ORM(对象关系映射)工具,它允许开发者使用Python对象来操作数据库,而无需直接编写SQL语句。通过SqlAlchemy,你可以将数据库操作与业务逻辑更好地解耦,提高代码的可读性...
SQLAlchemy 通过其强大的功能简化了数据库操作,并支持多种数据库系统。 #### 二、官方资源介绍 1. **官方介绍**:官方文档是学习 SQLAlchemy 最权威、最全面的资料来源。 - **1.1 引入 SQLAlchemy**:这部分内容...
此外,如果你有大量复杂的数据库操作,可能需要考虑使用ORM(对象关系映射)工具,如SQLAlchemy,它能提供更高级别的抽象和数据库操作的安全性。 总的来说,Python结合CMD为数据库操作提供了极大的灵活性和便利性。...
通过 SQLAlchemy,Python 开发者可以方便地对 MySQL 数据库进行 CRUD 操作,无需编写原始的 SQL 语句。这使得代码更易于维护和理解,同时也简化了数据库操作的复杂性。在实际项目中,可以根据需求进一步扩展这些基本...
在本项目"flask学习对数据库表操作的项目dome.zip"中,主要涉及的是使用Python的Flask框架...这个项目涵盖了数据库模型的定义、数据库连接的配置、以及CRUD操作的实现,是初学者理解和实践Flask数据库操作的好例子。
1. **异步支持**:由于 Tornado 是异步的,`tornado_sqlalchemy` 也支持异步数据库操作,这意味着在等待数据库响应时,应用可以继续处理其他请求,从而提高并发性能。 2. **简化集成**:`tornado_sqlalchemy` 提供...
这个简单的例子展示了如何定义一个 User 模型,然后通过 SQLAlchemy 的 Session 进行数据操作。实际使用中,开发者可以根据具体需求进行更复杂的数据操作和查询。 总结来说,`sqlalchemy_connector-0.1.27-py3-none...
总的来说,SQLAlchemy 是 Python 开发者在处理数据库操作时的强大工具,它提供了丰富的 API 和高级特性,使得数据库操作变得简单易懂,同时不失灵活性和性能。通过学习和熟练掌握 SQLAlchemy,开发者可以更高效地...
SQLAlchemy 的核心是它的 SQL 工具包,允许直接进行低级 SQL 操作,同时也支持通过 ORM 来简化数据库操作,将数据库表与 Python 类关联起来。 在 SQLAlchemy-1.1.9.tar.gz 这个压缩包中,包含的是 SQLAlchemy 的 ...
在SQLAlchemy中,它是Python的一个ORM(对象关系映射)库,用于操作SQL数据库。它提供了高级的SQL构造和查询方式,使得开发者可以更方便地在Python代码中编写和执行SQL语句。在这个例子中,我们将看到如何将一个标准...
SQLAlchemy,则是 Python 中流行的数据库 ORM(对象关系映射)库,它简化了数据库操作,使得开发者可以用 Python 代码来处理数据库事务,而无需直接编写 SQL。 首先,我们需要了解 Flask 的基本结构。Flask 应用由...
SQLAlchemy是Python的一个ORM(对象关系映射)库,它将数据库操作转换为Python对象的操作。通过SQLAlchemy,我们可以定义数据模型,这些模型对应数据库中的表,并且可以用Python类的方式进行操作。例如,我们可以...
Tornado-SQLAlchemy 将 SQLAlchemy 的强大数据库操作能力与 Tornado 的异步特性相结合,提供了以下关键功能: - **异步支持**:在 Tornado 中,你可以使用 `await` 关键字来异步地执行数据库查询,这有助于避免阻塞...