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之后才会添加数据
  • 相关阅读:
    Python 中多线程之 _thread
    Python ftplib 模块关于 ftp的下载
    nessus 漏洞扫描安装和使用
    实战medusa暴力破解
    浅谈python 中正则的一些函数
    一句话木马和中国菜刀的结合拿webshell
    浅说套接字socket做个小小的监控
    小巧的ssh客户端
    统计字符串的数字,英文字母,空格及其他的个数
    mysql字符串函数
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/9329248.html
Copyright © 2011-2022 走看看