sqlalchemy 简单使用
admin
2023-05-22 20:22:36
0


一, sqlalchemy 与数据库连接

安装:    

    pip install sqlalchemy

sqlalchemy 查看版本:    

    import sqlalchemy

    sqlalchemy.__version__

sqlalchemy 连接数据库:

    from sqlalchemy import create_engine

    HOST='127.0.0.1'

    PORT='3306'

    DATABASE='test'

    USERNAME='test'

    PASSWORD='pass'

    DB_URL =  'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(

                    USERNAME, PASSWORD, HOST, PORT, DATABASE

    )

    engin = create_engine(DB_URL, echo=False)

sqlalchemy创建表的简单过程:

    1. 创建一个基类

     from sqlalchemy.ext.declarative import declarative_base

     Base = declarative_base()


    2. 创建一个类

    from sqlalchemy import Column, Integer, String

    class User(Base):

          __tablemame__ = 'users'       # 数据表的名子

          id = Column(Integer, Sequence('user_id_seq'),  Primary_key=True)  # 设置为主键

          name = Column(String(20), nullable=False)  #非空

          password = Column(String(255), nullable=False)


创建表:

    Base.metadata.create_all(engine)


创建一个对象

    zs_user = User(name='zs', fullname='ZhangSan', password='password')

    zs.name

        zs

创建 Session

    from sqlalchemy.orm import sessionmaker

    Session = sessionmaker(bind=engine)


添加更新对象

将 zs_user 对象添加到会话中

    session.add(zs_user)

通过条件查询

    zs = session.query(User).filter_by(name='zs').first()


可以使用 add_all() 函数一次性添加多个User 对象、

    session.add_all(

        User(name='ls', fullname='lisi', password='pass'),

        User(name='ww', fullname='wangwu', password='pass'),

    )

查看等待提交的状态:

session.new

将更改提交到数据库:

session.commit()





    


相关内容

热门资讯

“麦子战歌”爆火 用歌声为老家... 帅帅(左)和晨西(右)在麦田排练。 河南日报全媒体记者 何玉帅 摄“俺河南麦子,做馒头好吃,俺河南麦...
聚焦两高四着力 奋发有为十五五... “小杰,法院有个邻里纠纷案件,能不能请网格员上门摸排情况?”“小杰,我来参加下午的社区活动,在几楼?...
郭浩任河南交通投资集团专职外部... 【大河财立方消息】 5月19日,河南交通投资集团公告称,根据《省政府国资委关于河南交通投资集团有限公...
米面油、化妆品等不能刷!医保个... 今天(19日),国家医保局、财政部发布《关于进一步加强定点零售药店职工基本医疗保险个人账户使用监督管...
柳州震后,有居民在乒乓球台上搭... 5月18日晚,广西柳州再发5.2级地震。当晚,柳州当地临时开放市体育中心等场所供市民免费使用。据当地...
不能吃!“泡药杨梅”最新消息 近日,一则“福建漳州多家杨梅收购点存在违规浸泡防腐剂、滥用三无超甜添加剂”的消息,引发网友担忧。据媒...
伊朗被曝不愿将浓缩铀交给美国,... 美伊谈判陷入停滞,伊朗核问题是主要症结之一。美国想要获取伊朗的浓缩铀,但是伊朗拒绝这么做。据沙特阿拉...
台立法机构19日进行赖清德弹劾... 【环球网报道】据联合新闻网等台媒5月19日报道,台立法机构预计今日(19日)上午10时进行赖清德弹劾...
中国科学院院士方岱宁逝世 澎湃新闻记者从中国科学院学部网站获悉,材料与结构力学领域专家,中国科学院院士,北京理工大学教授方岱宁...
盲道上演戏的网红,坑了1700... 一个手拿盲杖在盲道上走路的女孩,被一辆疾驰的电动车撞倒。肇事者却丢下一句“你不看路啊”的怒骂扬长而去...