• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ORM模型框架操作mysql数据库的方法

    【什么是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模型类
    四.同步数据库表

    开始连接数据库

    from sqlalchemy import  create_engine
    
    create_engine("mysql://root:@127.0.0.1:3306/school?charset=utf8,echo=True,future=True")

    create_engine 参数解释

    1. url(默认第一个参数)——连接到哪种类型的数据库,如:mysql;以哪种数据库连接器(驱动)来连接数据库
    2. echo——是否输出logging(日志)信息,会把日志都打印出来
    3. 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模型类】

    如何实现? 我们需要写1个类去继承他

    然后还需要设立1个属性

    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)

    到此这篇关于ORM模型框架操作mysql数据库的方法的文章就介绍到这了,更多相关ORM模型框架内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
    • django框架面向对象ORM模型继承用法实例分析
    • MySql用DATE_FORMAT截取DateTime字段的日期值
    • mysql数据库中的information_schema和mysql可以删除吗?
    上一篇:mysql 直接拷贝data 目录下文件还原数据的实现
    下一篇:MySQL深度分页(千万级数据量如何快速分页)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ORM模型框架操作mysql数据库的方法 ORM,模型,框架,操作,mysql,