【什么叫ORM】
ORM 全名是(Object Relational Mapping)表明目标关联投射; 简单了解能够 了解为计算机语言的虚似数据库查询;
【了解ORM】
客户详细地址信息内容数据库表与目标的投射
【ORM的关键特点】
1.面向对象编程的编程思想,便捷扩大
2. 少写(几乎不写)sql,提高开发设计高效率
3.适用各种类型的数据库查询(常见的mysql,pg,oracle这些),便捷转换
4.ORM技术性早已非常完善,能处理绝大多数难题
【ORM实体模型架构的挑选】
【SQLAlchemy ORM实体模型】
大家都知道,ORM架构实体模型可挑选的有很多,那麼大家这里挑选了SQLAlchemy 实体模型架构
pip install SQLAlchemy 安裝sql alchemy; 还可以特定版本信息pip install SQLAlchemy ==1.4.17
import sqlalcherm; sqlalchemy.._version._; 认证是不是安裝取得成功及版本信息;
【SQL Alchemy的应用】
- 一.逐渐数据库连接
- 二.申明ORM实体模型基类
- 三.完成ORM实体模型类
- 四.同歩数据库表
【逐渐数据库连接】
- 延迟时间联接(Lazy Connecting)——仅有在真真正正实际操作数据库查询的情况下,才会数据库连接
- 联接编码实例
from sqlalchemy import create_engine create_engine("mysql://root:@127.0.0.1:3306/school?charset=utf8,echo=True,future=True")
【create_engine主要参数表述】
- url(默认设置第一个主要参数)——联接到哪一种种类的数据库查询,如:mysql;以哪一种数据库查询射频连接器(推动)来数据库连接
- echo——是不是輸出logging(日志)信息内容,会把日志都打印出出去
- future应用SQLAlchemy2.0 API设计风格
【SQLAlchemy配备】
当登陆密码中带有特殊符号时,怎么处理?
话不多说,见下边编码
from urllib.parse import quote_plus 假如登陆密码里有特殊符号时,这里必须 导进一个类来解决 password_formatted= quote.plus("mima%&&&mima") 把解决后的登陆密码黏贴到上边的sqlalchemy配备中,就可以
【申明ORM实体模型基类】
from sqlalchemy.orm import declarative_base 申明这一基类 Base = declarative_base()
【完成ORM实体模型类】
怎样完成? 大家必须 写一个类去承继他
随后还必须 开设一个特性
from sqlalchemy import Column, Integer, String, DateTime class Student(Base): """学生信息表""" ._tablename._ = 'student' id = Column(Integer, name='id', primary_key=True) stu_no = Column(Integer, nullable=False, comment='学籍号') stu_name = Column(String(16), nullable=False, comment='名字') created_at = Column(DateTime)
【同歩数据库表】
1.必须 在同歩以前确保 数据库查询中有这一库,要是没有,则必须 手动式建立
2 创建表,删除表
from orm_connect_example import Base ,engine # 创建表 Base.metadata.create_all(engine) #删除表 Base.metadata.drop_all(engine)
【ORM相匹配的实体模型字段名种类】
【编码实例】
from sqlalchemy import create_engine from sqlalchemy.orm import declarative_base from sqlalchemy import Column, Integer, String, DateTime # 第一步,提前准备联接 engine = create_engine('mysql://root:@10.72.100.1:8081/test_database_1?charset=utf8',echo=True) # 第二步,申明ORM实体模型的基类 Base = declarative_base() # 第三步,完成ORM实体模型类 class Student(Base): """学生信息表""" ._tablename._ = 'student' id = Column(Integer, name='id', primary_key=True) stu_no = Column(Integer, nullable=False, comment='学籍号') stu_name = Column(String(16), nullable=False, comment='名字') created_at = Column(DateTime) #第四步 同歩数据库表 def create_table() """同歩数据库表""" # 新创建表 Base.metadata.create_all(bind=engine) # 删除表 Base.metadata.drop_all(bind=engine)
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。