• python学习教程(九)sqlalchemy框架的modern映射


    首先写一个modern.py文件,


    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer, String
    from sqlalchemy.engine import create_engine
    
    '''the connection to the database'''
    engine = create_engine("mysql://root:1933jld1945js@localhost/test",isolation_level="READ UNCOMMITTED") 
    '''the construct of the database table'''
    Base = declarative_base()
    
    class People():
        id = Column(Integer, primary_key=True)
        name = Column(String(16))
        gender = Column(String(16))
        age = Column(String(16))
    
    class User(Base,People):
        __tablename__ = 'users'
    
        fullname = Column(String(16))
        password = Column(String(16))
    
    class AdvancedUser(Base,People):
        __tablename__ = 'advanceduser'
        
        fullname = Column(String(16))
        password = Column(String(16))
        email = Column(String(16))
        
    class Teacher(Base,People):
        __tablename__ = 'teacher'
        
        phone = Column(String(16))
        
    Base.metadata.create_all(engine)
    


    然后写一个control.py文件,内容如下:

    from sqlalchemy.orm.session import sessionmaker
    from modern import engine,User,AdvancedUser,Teacher
    
    user = User()
    user.name = 'username'
    user.gender = 'male'
    au = AdvancedUser()
    au.name = 'auname'
    au.gender = 'female'
    teacher = Teacher()
    teacher.name = 'wangdi'
    teacher.gender = 'female'
    teacher.phone = '15264397652'
    Session = sessionmaker()
    Session.configure(bind=engine)
    session = Session()
    session.add(user)
    session.add(au)
    session.add(teacher)
    session.flush()
    session.commit()


    运行control.py可以测试代码。

  • 相关阅读:
    第五章 Python——字符编码与文件处理
    第六章 Python——函数与面向过程编程
    第七章 Python——模块与包
    第一章 计算机硬件基础与操作系统介绍
    luogu P1706 全排列问题
    luogu 2142 高精度减法
    luogu P1601 高精度加法
    luogu P1803 线段覆盖 贪心
    luogu P1031 均分纸牌 贪心
    luogu P2678 跳石头 二分答案
  • 原文地址:https://www.cnblogs.com/pangblog/p/3313400.html
Copyright © 2020-2023  润新知