博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlalchemy ORM
阅读量:5348 次
发布时间:2019-06-15

本文共 1552 字,大约阅读时间需要 5 分钟。

1.ORM介绍

orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,而不用直接使用sql语言。

 

 

orm的优点:

  1. 隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来。
  2. ORM使我们构造固化数据结构变得简单易行。

缺点:

  1. 无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是所有不喜欢ORM人的共同点)。现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。

2. sqlalchemy安装

pip
install
SQLAlchemy
pip
install
pymysql 
#由于mysqldb依然不支持py3,所以这里我们用pymysql与sqlalchemy交互

3.sqlalchemy基本使用

创建表结构和表数据:

import sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, Stringfrom sqlalchemy.orm import sessionmakerengine = create_engine("mysql+pymysql://zww:123@192.168.10.144/zdb",                       encoding='utf-8', echo=True)Base = declarative_base()  # 生成orm基类class User(Base):    __tablename__ = 'user'  # 表名    id = Column(Integer, primary_key=True)    name = Column(String(32))    password = Column(String(64))Base.metadata.create_all(engine)  # 创建表结构#创建表数据Session_class = sessionmaker(bind=engine)  # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例Session = Session_class()  # 生成session实例user_obj = User(name="jerry", password="jerry123")  # 生成你要创建的数据对象print(user_obj.name, user_obj.id)  # 此时还没创建对象呢,不信你打印一下id发现还是NoneSession.add(user_obj)  # 把要创建的数据对象添加到这个session里, 一会统一创建print(user_obj.name, user_obj.id)  # 此时也依然还没创建Session.commit()  # 现此才统一提交,创建数据

 

 

转载于:https://www.cnblogs.com/wenwei-blog/p/9080068.html

你可能感兴趣的文章
js onclick事件传参
查看>>
WiCloud 商业Wi-Fi管理平台
查看>>
团队项目--未完待续
查看>>
双重标准,我该怎么解决
查看>>
python中的网页标签等字符处理
查看>>
Mybatis输入类型和结果类型
查看>>
Linux常用命令(五)
查看>>
Linux常用命令(四)
查看>>
Linux常用命令(六)
查看>>
Linux常用命令(六)
查看>>
Linux常用命令(八)
查看>>
Linux常用命令(七)
查看>>
Linux常用命令(九)
查看>>
Linux常用命令(十一)
查看>>
Linux常用命令(十)
查看>>
实验吧之这就是一个坑
查看>>
Linux常用命令(十二)
查看>>
Linux常用命令(十三)
查看>>
Linux常用命令(十五)
查看>>
Linux常用命令(十四)
查看>>