1. result = engine.execute(s)
  2. for row in result:
  3. Info["UserId"]=row[0]
  4. Info["UserTitle"] = row[1]
  5. Info["UserCode"] = row[2]
  6. Info["UserType"] = row[3]
  7. result.close()
返回的result为一个元组,

echo设置为True,目的是SqlAlchemy将会把执行sql命令的过程输出到标准输出。这主要是便于调试,但如果是用于生产环境中应该设置为False。

客户端连接到数据库postgresql:
客户端connect >sqlalchemy->psycopg2->DBAPI->postgresql
= ('postgresql+psycopg2://postgres:root@localhost:5432/ttt'=True)

创建引擎:指定     要连接的数据库+数据库接口://帐号:密码@localhost:5432/数据库名称 
metadata元数据,实例化metadata,绑定到engine上,相当于初始化了表结构
user = Table('book',metadata,                   Column('id',Integer,primary_key=True),                   Column('name',String(20)),)

用Table来创建表,表的名称,类型,字段定义
user不是表名,是数据表book对应的类名
(=True)

创建数据表,checkfirst=True,数据库相关对象已经存在的化就不会在创建了

定义列   查询行
When we use literal(文字的) strings, the Core can’t adapt(适应) our SQL to work on different database backends. 
也就是不推荐使用原生sql查询
插入数据:
最方便的插入

user.insert().execute([{'id':6,'name':'1183532@qq.com'},{'id':5,'name':'118352@qq.com'}])
user.insert().execute(id=7, name='hello')

删除指定数据:
coon.execute(user.delete().where(user.c.id == 7))

清空表中的数据:
coon.execute(user.delete())

更新数据:
s = user.update().where(user.c.id == 7).values(name='say hello')r = coon.execute(s)

查询数据:
s = select([user.c.name,user.c.id])result = coon.execute(s)for row in result:    print row

s = select([user,])result = coon.execute(s)for row in result:    print row

#coding:utf-8from sqlalchemy import create_enginefrom sqlalchemy import MetaData,Column,Sequence,ForeignKey,Integerfrom sqlalchemy import Table,Stringfrom sqlalchemy.sql import select,textengine = create_engine('postgresql+psycopg2://postgres:root@localhost:5432/ttt', echo=True)metadata = MetaData()metadata.bind = engine#数据库表与对象之间的映射关系user = Table('book',metadata,                   Column('id',Integer,primary_key=True),                   Column('name',String(20)),)address = Table('address',metadata,                Column('id',Integer,primary_key=True),                Column('user_id',None,ForeignKey('user.id')),                Column('email',String(60),nullable=False),)#创建数据表metadata.create_all(checkfirst=True)

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/wuqingzangyue/p/5770026.html

运用SQLAlchemy相关推荐

  1. SQLALchemy之Python连接MySQL

    20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...

  2. Python的数据库操作(Sqlalchemy)

    ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射.简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系.这样,我们要操作数据库,数据库中的表 ...

  3. 04:sqlalchemy操作数据库 不错

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  4. Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  5. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 ...

  6. 自动获取mysql建表语句_脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明...

    常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...

  7. ORM 框架中SQLALCHEMY一点点个人总结

    声明:工作原因涉及一点 What is ORM 答: object relation mapping 一种实现对象与数据库中的关系表映射的中间件.ORM 框架中最有名的是SQLALCHEMY 具体使用 ...

  8. Python之Mysql及SQLAlchemy操作总结

    一.Mysql命令总结 1.创建库 create database test1; 2.授权一个用户 grant all privileges on *.* to 'feng'@'%' identifi ...

  9. sqlalchemy数据库中的offset偏移查询的使用

    文章目录 1.实验结果: 2.主文件main.py: 1.实验结果: 2.主文件main.py: from flask_wtf import FlaskForm from flask_sqlalche ...

  10. sqlalchemy数据库中的limit使用(限制查询的用户数量)

    文章目录 1.实验结果: 2.主文件:main.py: 1.实验结果: 2.主文件:main.py: from flask_wtf import FlaskForm from flask_sqlalc ...

最新文章

  1. golang struct 切片数组去重
  2. hibernate 映射_Hibernate映射集合性能问题
  3. 【金三银四】启动mysql服务器
  4. 【dll 返回字符串 】2
  5. Kafka 慌了!这个中间件,要火了?
  6. Thymeleaf模板的使用
  7. 开源PDF文件处理工具箱
  8. 生态丨人大金仓与超图集团共商战略新发展、共营和谐新生态!
  9. 程序员职业发展路线图
  10. 思科的DUO解决方案到底是什么?
  11. 阳线双响炮K线形态,上升势不可挡,送指标源码
  12. ChemDraw怎么激活?ChemDraw激活教程
  13. 10款iOS高效开发必备的Objective-C类库(转)
  14. “程序员”眼中的中秋节
  15. 华为资深工程师:码农很多,但程序员并不多......
  16. 云计算资源虚拟化技术实现原理
  17. 网秦手机杀毒软件 v2.1 pocketpc _wm5.0 下载
  18. 基于IDL的高分二号影像批量预处理程序
  19. 前谷歌工程师差点因为不知道贝叶斯公式被拒
  20. 新松机器人产业小镇_总投资35亿元!新松机器人产业园及创新公共服务平台项目落户永修组团...

热门文章

  1. jsonhandle主界面没有显示格式_怎么将图纸导出成图片格式保存
  2. mysql 魔乐_MLDN 李兴华 魔乐科技网上最全笔记
  3. 【每周CV论文】初学深度学习图像对比度增强应该要读的文章
  4. 【每周CV论文推荐】 掌握残差网络必读的10多篇文章
  5. linux面试题中的简答题,Linux面试题(简答题部分)
  6. phpcmsv9修改表单直接在列表中显示字段方法
  7. Android开发-实现第三方APP跳转
  8. 《深入理解Java虚拟机》读书笔记五
  9. 分布式服务动态上下线感知
  10. 1.springMVC+spring+Mybatis的整合思路