zoukankan      html  css  js  c++  java
  • ORM操作mysql

    创建表和添加数据

    import sqlalchemy
    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer, String
    from sqlalchemy.orm import sessionmaker


    engine = create_engine("mysql+pymysql://root:lizhaoqwe@10.20.252.223/test_db", echo=True)#echo=True可以查看详细信息
    Base = declarative_base()
    #创建表
    class User(Base):
    __tablename__ = 'user'#表名
    id = Column(Integer, primary_key=True)
    name = Column(String(32))
    password = Column(String(64))
      
        def __repr__(self):#显示ORM查询执行后的结果(不加这个方法返回的是内存地址)
    return '%s:%s' % (self.name, self.password)


    Base.metadata.create_all(engine) #创建表结构

    #创建连接
    Session_class = sessionmaker(bind=engine) #创建与数据库的会话session class,注意,这里返回的是一个类,不是一个实例
    session = Session_class()#生成session实例 #可以先理解成curson游标
    #查询
    # data = session.query(User).filter(User.id < 2).all()#是一个列表
    data = session.query(User).filter(User.id > 2).filter(User.id < 5)
    #查询出来后直接赋值修改数据
    data.name = 'username'
    data.password = 'password'
    session.commit()

    print(data)
    #插入数据
    user_obj1 = User(name='lizhao', password='lizhaoqwe123')#生成要创建的数据对象
    user_ibj2 = User(name='test', password='testqwe123')
    session.add(user_obj1)
    session.add(user_ibj2)
    session.commit()#必须commit之后才会添加数据
  • 相关阅读:
    async/await语法
    generator生成器函数
    数组练习
    解决异步(重点promise函数)
    iterator遍历器
    各种遍历方法(重点for....of)
    ES6代理proxy
    Symbol新数据类型
    函数(rest 箭头)
    ES6常用方法(字符串,数字,数组,对象)
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/9329248.html
Copyright © 2011-2022 走看看