`

sqlalchemy练习(二)

 
阅读更多
# -*- coding: utf-8 -*-
# @Time    : 2017/4/10 14:33
# @Author  : xiaojingjing
# @File    : sqlalchemy_core.py
# @Software: PyCharm
import sqlalchemy
print(sqlalchemy.__version__)

from sqlalchemy import create_engine
from sqlalchemy import Table,Column,String,Integer,MetaData,ForeignKey

engine=create_engine('sqlite:///fooo.db',echo=True)

#实例化metadata类
mentadata=MetaData()

users=Table(
    'users',mentadata,
    Column('id',Integer,primary_key=True),
    Column('name',String),
    Column('fullname',String)
)

addresses=Table(
    'addresses',mentadata,
    Column('id',Integer,primary_key=True),
    Column('user_id',None,ForeignKey('users.id')),
    Column('email_Address',String,nullable=False)
)
#执行创建表操作
mentadata.create_all(engine)

#建立数据库引擎连接
conn=engine.connect()

#执行插入操作
# conn.execute(users.insert(),[dict(name='peter',fullname='peter Jones'),dict(name='dack',fullname='dack Willer')])

# conn.execute(addresses.insert(),[
#     {'user_id':1,'email_Address':'xiaohui@sina.com'},
#     {'user_id':1,'email_Address':'bighui@sina.com'},
#     {'user_id':2,'email_Address':'xiaohui@yeah.net'},
#     {'user_id':2,'email_Address':'bighui@yeah.net'}
# ])

#查询操作

#引用select模块
from sqlalchemy.sql import select

# s=select([users])
# result=conn.execute(s)
# for row in result:
#     print(row)

#外键关联查询
# s=select([users,addresses]).where(users.c.id==addresses.c.user_id)
# for row in conn.execute(s):
#     print(row)

from sqlalchemy.sql import text

s=text(
    """
    select users.fullname||','||addresses.email_Address As title
    FROM users,addresses
    WHERE users.id=addresses.user_id
    AND users.name BETWEEN :x AND :y
    AND (addresses.email_Address LIKE :e1)
    OR (addresses.email_Address LIKE :e2)
    """
)


print(conn.execute(s,x='m',y='z',e1='.com',e2='sina.com').fetchall())

 

分享到:
评论

相关推荐

    sql_to_sqlalchemy:本教程是为了展现sql原始语句转换为sqlalchemy语句的各个实例

    为了更好地提升自己的sql以及使用sqlachemy水平,可以使用MySQL自带的示范数据库员工进行练习。 课程目录 未完待续... ,敬请期待后续的复杂的联合查询语句。 欢迎大家提供需要转变为sqlalchemy语法的sql语句。 如有...

    sqlalchemy-challenge:sqlalchemy-挑战作业

    这个“sqlalchemy-challenge”似乎是一个练习项目,旨在帮助用户深入理解并熟练掌握SQLAlchemy的用法。下面我们将详细探讨SQLAlchemy的核心概念、功能以及如何通过它来完成挑战作业。 1. **对象关系映射(ORM)**:...

    sqlalchemy-challenge-alec-miller:SQLAlchemy家庭作业-冲浪!

    在这个挑战中,Alec Miller可能是指导者或者参与者,他设计了一个练习来提升对SQLAlchemy的掌握。 首先,我们需要了解SQLAlchemy的基本概念。ORM是Object-Relational Mapping的缩写,它是将传统的关系型数据库模型...

    SQLAlchemy挑战

    "SQLAlchemy挑战"可能是一个旨在提升开发者在使用SQLAlchemy进行数据库操作技能的练习或项目。在这个挑战中,你可能会遇到以下一些关键知识点: 1. **对象关系映射(ORM)**:SQLAlchemy的核心就是ORM,它将数据库表...

    sqlalchemy挑战

    在"sqlalchemy-challenge-main"这个目录下,可能包含了一些练习或问题,如创建数据库模型、执行复杂查询、处理关联数据等。通过解决这些挑战,你可以深入了解SQLAlchemy的工作原理,提升数据库操作的技能。 总的来...

    HW5:WTForms和SQLalchemy

    在“HW5”这样的练习或项目中,你可能需要结合使用WTForms和SQLAlchemy来实现一个带有用户注册和登录功能的Web应用。WTForms可以用来创建注册和登录表单,包括验证用户输入的有效性,如检查邮箱格式和密码强度。而...

    Mission_SqlAlchemy

    《深入理解Python ORM框架:SqlAlchemy实战》 SqlAlchemy,作为Python中最强大的对象关系映射(ORM)框架之一,为开发者提供了...通过实战练习,不断加深对SqlAlchemy的理解,你会发现它在数据库操作中的无穷魅力。

    wk7SqlAlchemy

    通过wk7SqlAlchemy-master这个压缩包,我们可以预期里面可能包含了示例代码、教程或者练习,帮助初学者理解和使用SQLAlchemy。学习和实践这些内容,将有助于提升Python开发中与数据库交互的能力。

    sqlalchemy-challenge

    在`sqlalchemy-challenge-main`这个目录下,你可能会找到包含示例代码、练习问题和解决方案的文件。仔细研究这些文件,动手实践,将是你提高SQLAlchemy技能的关键。记住,实践是检验真理的唯一标准,不断尝试和学习...

    Sqlalchemy-Challenge

    "Sqlalchemy-Challenge"显然是一个围绕这个主题的项目或学习挑战,可能包含了通过Jupyter Notebook进行的实践练习。 SQLAlchemy是Python SQL工具包和ORM框架,它不仅提供了全面的SQL构造和表达式语言,还支持直接...

    sqlalchemy_challenge

    《SQLAlchemy 挑战:探索 Python 数据库操作的艺术》 在编程世界中,数据库管理是不可或缺的一...不断练习和探索,你将在数据库管理领域变得更加熟练。现在,打开你的Jupyter Notebook,开始你的SQLAlchemy之旅吧!

    Sqlalchemy的挑战:在此存储库中,我将使用sqlalchemy并创建与数据库的连接并设置用于与数据库交互的API

    Sqlalchemy是中国著名的Python SQL工具包,它为开发者提供了一个高级SQL接口,允许灵活地操作数据库。这个挑战的目标是使用Sqlalchemy来建立与...这是一个很好的练习,可以帮助你深入理解Sqlalchemy的工作原理和优势。

Global site tag (gtag.js) - Google Analytics