增add

  • # 创建表1
  • # 注:高级封装
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",
    encoding='utf-8', echo=True) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 创建表结构
    # 调用Baew基类方法metadata.create_all(链接数据库)
    Base.metadata.create_all(engine)

  • # 创建表2
  • # 注:第一种方式创建的表就是基于第2种方式的再封装。
  • from sqlalchemy import Table, MetaData, Column, Integer, String, ForeignKey
    from sqlalchemy.orm import mapper metadata = MetaData() # 创建表结构,调用metadata
    user = Table('user', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String(50)),
    Column('fullname', String(50)),
    Column('password', String(12))
    ) # 创建类
    class User(object):
    def __init__(self, name, fullname, password):
    self.name = name
    self.fullname = fullname
    self.password = password # 将表元数据与表构造分开创建,然 后通过mapper()函数与用户类关联。
    mapper(User, user)

  • # 表内插入数据
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 生成你要创建的数据对象,只是创建对象
    user_obj = User(name="kevin",password="") #把要创建的数据对象添加到这个session里, 一会统一创建
    Session.add(user_obj) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

删delete

  • # 删除表中字段中数据
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 取出删除的字段对象
    x = Session.query(User).filter(User.id=='').first() # 使用delete删除
    Session.delete(x) # 提交事件执行
    Session.commit() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

改update

  • # 修改列表下字段下数据
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 打印第一个User列表内指定name字符下kevin数据的 第一个对象
    data = Session.query(User).filter_by(name="n3").first() # data对象.字段 = ‘修改内容’
    data.name = 'vin.xx' #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

    View Cod


查select

  • # 查找表内指定字符
  • 注:.all() 生成一个列表对象 .first() 打印第一个对象
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.filter_by 不能使用“<>”指定对象时不需要调用类对象。
    data = Session.query(User).filter_by(name="n3").all() # 取出data列表内的第一个内存地址下的name字段。
    print(data[0].name) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 查找表内指定字符范围查找
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.filter可以使用"< == >'符号来指定范围查找,前面需要加类对象
    data = Session.query(User).filter(User.id>2).all()
    print(data) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 查找表内指定字符范围,多个条件查找
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 可以通过filter多条件查询
    data = Session.query(User).filter(User.id >1).filter(User.id <3).all()
    print(data) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 统计获取数量
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.count()统计获取数量
    print(Session.query(User).count()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 分组获取相同数
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# from sqlalchemy import func # func.count统计数量(类对象.统计字段),显示字段
    # .group_by(统计字段).all()
    print(Session.query(func.count(User.name),User.name).group_by(User.name).all()) #相当于原生sql为
    #SELECT count(user.name) AS count_1, user.name AS user_name
    #FROM user GROUP BY user.name #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 两张表 字段匹配 查找相同数据
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String,DATE,Enum
    # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) class User2(Base):
    # __tablename__ 表名
    __tablename__ = 'user2' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine)
    #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # Session.query(表1,表2).filter(表1.字段==表2.字段).all()
    print(Session.query(User,User2).filter(User.id==User2.id).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

  • # 两张表 外键匹配 查找相同数据
  • 注:通过join匹配两个表中的外键字段 打印数据
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String,DATE,Enum
    # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) class User2(Base):
    # __tablename__ 表名
    __tablename__ = 'user2' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine)
    #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # Session.query(表1).join(表2).all()
    print(Session.query(User).join(User2).all()) # Session.query(表1).join(表2,isouter=True)
    print(Session.query(User).join(User2,isouter=True).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

 
其他操作

  • # 回滚操作
  • import sqlalchemy
    
    # 调用链接数据库
    from sqlalchemy import create_engine
    # 调用基类Base
    from sqlalchemy.ext.declarative import declarative_base
    # 调用Column创建字段 加类型
    from sqlalchemy import Column, Integer, String # 调用操作链接
    from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
    # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
    engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
    #echo=True
    ) # 生成orm基类
    Base = declarative_base() # 继承Base
    class User(Base):
    # __tablename__ 表名
    __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
    id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
    name = Column(String(32)) # Column字段(String(64)字符长度)
    password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
    def __repr__(self):
    return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    # bind=engine 绑定engine socket实例
    Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
    Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 添加一条数据User
    fuck_user = User(name='Rain',password='')
    Session.add(fuck_user) # 这时看session里有你刚添加和修改的数据
    # User.name.in_([数据1,数据2]),打印数据1或数据2
    print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all()) # 回滚命令
    Session.rollback() # 数据回滚后再次查看
    print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
    #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
    Session.commit()

 

Python sqlalchemy orm 常用操作的更多相关文章

  1. Python sqlalchemy orm 多对多外键关联

    多对多外键关联 注:使用三张表进行对应关联 实现代码: # 创建3个表 配置外键关联 # 调用Column创建字段 加类型 from sqlalchemy import Table, Column, ...

  2. ORM常用操作

    一般操作 专业官网文档 必会13条查询 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> get ...

  3. Python SQLAlchemy ORM示例

    SQLAlchemy的是Python的SQL工具包和对象关系映射,给应用程序开发者提供SQL的强大功能和灵活性. 安装 pip install mysql-python pip install sql ...

  4. 二叉树的python可视化和常用操作代码

    二叉树是一个重要的数据结构, 本文基于"二叉查找树"的python可视化 pybst 包, 做了一些改造, 可以支持更一般的"二叉树"可视化. 关于二叉树和二叉 ...

  5. Python sqlalchemy orm 外键关联

    创建外键关联 并通过relationship 互相调用 如图: 实现代码: import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engi ...

  6. Python sqlalchemy orm 多外键关联

     多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...

  7. Python数据类型及常用操作

    Python字符串类型 1.用途: 用来记录有描述性的状态.比如:人名,地址等. 2.定义方式: 创建字符串非常简单,在‘ ’,“ ”,‘’‘ ’‘’内一填写一系列的字符例如:msg='hello' ...

  8. Python字符串的常用操作学习

    >>> name = "I love my job!" >>> name.capitalize() #首字母大写 'I love my job! ...

  9. Python集合的常用操作

    字典常用的就是,他的去重. set集合是python的一个基本数据类型. set中的元素是不重复的.⽆无序的.⾥面的元素必须是可hash的(int, str, tuple,bool). 我们可以这样来 ...

随机推荐

  1. 通俗bandit算法

    [原文链接] 选择是一个技术活 著名鸡汤学家沃.滋基硕德曾说过:选择比努力重要. 我们会遇到很多选择的场景.上哪个大学,学什么专业,去哪家公司,中午吃什么,等等.这些事情,都让选择困难症的我们头很大. ...

  2. C#winform窗体实现对sql server数据库的增删改查

    1.运行效果截图 2.输入用户名,密码进行查询 查找成功则显示 查找不成功显示用户信息不存在 3.输入用户名与密码,向数据库中添加用户信息 添加后数据库表信息 4.查看全部信息 5.根据编号信息进行查 ...

  3. Python学习之旅(九)

    Python基础知识(8):集合 集合:由不同元素组成,无序的,不重复的序列 补充知识:可变类型:列表.字典:不可变类型:数字.字符串.元组 使用大括号{}或set()方法定义集合 se=set(&q ...

  4. 关于0x3f3f3f3f

    发现有人把无穷大设成0x3f3f3f3f,好像还真不是随便设的. 0x3f3f3f3f比10^9大一点,比一般数据范围大: 乘2之后比2147483467小,满足正无穷加正无穷还是正无穷: 每个字节都 ...

  5. InnoDB中锁的算法(3)

    Ⅰ.隐式锁vs显示锁 session1: (root@localhost) [test]> show variables like 'tx_isolation'; +-------------- ...

  6. xargs实例

    1. 当你使用rm命令去删除很多的文件时,你可能会得到错误信息:“/bin/rm Argument list too long – Linux”.这时可以用xargs来避免这个问题 find ~ -n ...

  7. 把vim改装为source sight

    本文在ubuntu18.04上实践. 主要为VIM 安装4个插件: taglist,srcexpl,NERD_tree,ctrlp 1,taglist.vim :https://www.vim.org ...

  8. [yum] yum加速

    通常,以我对于个人生活和工作品质的要求,并没有这个需求. 因为我的宽带费很贵,独享.就算是centos主站,也很快.但是当你去了一些办公环境恶劣的地方上班的时候, 也难免动用一些小技巧.如下: 装这个 ...

  9. 最全的MonkeyRunner自动化测试从入门到精通(5)

    夜神模拟器的安装与配置步骤一:我们为什么会选择使用夜神模拟器呢? 众所周知,Android studio的模拟器运行速度也很快,可以媲美真机.虽然其运行速度很快,可以满足我们测试的需求.但仍存在以下问 ...

  10. Node项目的Restful化

    提倡Restful风格的目的或者作用主要是,结构清晰.符合标准.易于理解.扩展方便. 个人把Restful简单粗暴地理解为:路由不包含动词. 怎么做到路由不包含动词呢?答案是,启用常用的GET和POS ...