• 售前

  • 售后

热门帖子
入门百科

ORM模子框架操纵mysql数据库的方法

[复制链接]
123456825 显示全部楼层 发表于 2021-8-14 15:09:37 |阅读模式 打印 上一主题 下一主题
【什么是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)——只有在真正操作数据库的时间,才会毗连数据库   
  • 毗连代码示例
  1. from sqlalchemy import  create_engine
  2. 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设置


当暗码中含有特殊字符时,怎么处理?
话不多说,见下方代码
  1. from urllib.parse import quote_plus
  2. 如果密码里有特殊字符时,这边需要导入一个类来处理
  3. password_formatted= quote.plus("mima%&&&mima")
  4. 把处理后的密码粘贴到上方的sqlalchemy配置中,即可
复制代码
声明ORM模型基类
  1. from sqlalchemy.orm import declarative_base
  2. 声明这个基类
  3. Base = declarative_base()
复制代码
【实现ORM模型类】

如何实现? 我们须要写1个类去继承他
然后还须要设立1个属性
  1. from sqlalchemy import Column, Integer, String, DateTime
  2. class Student(Base):
  3.     """学生信息表"""
  4.     __tablename__ = 'student'
  5.     id = Column(Integer, name='id', primary_key=True)
  6.     stu_no = Column(Integer, nullable=False, comment='学号')
  7.     stu_name = Column(String(16), nullable=False, comment='姓名')
  8.     created_at = Column(DateTime)
复制代码
1.须要在同步之前包管 数据库中有这个库,如果没有,则须要手动创建
2 创建表,删除表
  1. from  orm_connect_example import Base ,engine
  2. # 创建表
  3. Base.metadata.create_all(engine)
  4. #删除表
  5. Base.metadata.drop_all(engine)
复制代码
【ORM对应的模型字段范例】


【代码示例】
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.orm import declarative_base
  3. from sqlalchemy import Column, Integer, String, DateTime
  4. # 第一步,准备连接
  5. engine = create_engine('mysql://root:@10.72.100.1:8081/test_database_1?charset=utf8',echo=True)
  6. # 第二步,声明ORM模型的基类
  7. Base = declarative_base()
  8. # 第三步,实现ORM模型类
  9. class Student(Base):
  10.     """学生信息表"""
  11.     __tablename__ = 'student'
  12.     id = Column(Integer, name='id', primary_key=True)
  13.     stu_no = Column(Integer, nullable=False, comment='学号')
  14.     stu_name = Column(String(16), nullable=False, comment='姓名')
  15.     created_at = Column(DateTime)
  16. #第四步 同步数据库表
  17. def create_table()
  18.     """同步数据库表"""
  19.     # 新建表
  20.     Base.metadata.create_all(bind=engine)
  21.     # 删除表
  22.     Base.metadata.drop_all(bind=engine)
复制代码
到此这篇关于ORM模型框架操作mysql数据库的方法的文章就介绍到这了,更多相干ORM模型框架内容请搜刮草根技术分享从前的文章或继续浏览下面的相干文章希望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作