亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python ORM模塊sqlalchemy的使用

系統 1857 0

1、安裝sqlalchemy

          
                pip install sqlalchemy

          
        

2、導入必要的包及模塊

          
            
              import
            
             sqlalchemy
    
            
              from
            
             sqlalchemy
            
              .
            
            ext
            
              .
            
            declarative 
            
              import
            
             declarative_base
    
            
              from
            
             sqlalchemy
            
              .
            
            orm 
            
              import
            
             sessionmaker

          
        

3、創建數據庫連接實例

          
            
              #創建數據庫連接實例(#"數據庫類型+數據庫模塊://用戶名:密碼@主機/庫名")
            
            
    db
            
              =
            
            sqlalchemy
            
              .
            
            create_engine
            
              (
            
            
              "mysql+pymysql://root:q1q1q1@localhost/a"
            
            
              )
            
          
        

4、創建一個元類的繼承類

          
                base 
            
              =
            
             declarative_base
            
              (
            
            db
            
              )
            
          
        

5、定義一個表(使用類)繼承base

          
            
              class
            
            
              Student
            
            
              (
            
            base
            
              )
            
            
              :
            
            
        __tablename__ 
            
              =
            
            
              "student"
            
            
              id
            
            
              =
            
             sqlalchemy
            
              .
            
            Column
            
              (
            
            sqlalchemy
            
              .
            
            Integer
            
              ,
            
            primary_key
            
              =
            
            
              True
            
            
              )
            
            
        name 
            
              =
            
             sqlalchemy
            
              .
            
            Column
            
              (
            
            sqlalchemy
            
              .
            
            String
            
              (
            
            
              32
            
            
              )
            
            
              )
            
            
        age 
            
              =
            
             sqlalchemy
            
              .
            
            Column
            
              (
            
            sqlalchemy
            
              .
            
            String
            
              (
            
            
              32
            
            
              )
            
            
              )
            
          
        

6、創建表

base.metadata返回sqlalchemy.schema.MetaData對象,它是所有Table對象的集合,調用create_all()該對象會觸發CREATE TABLE語句,如果數據庫還不存在這些表的話。

          
            
              if
            
             __name__ 
            
              ==
            
            
              "__main__"
            
            
              :
            
            
        base
            
              .
            
            metadata
            
              .
            
            create_all
            
              (
            
            db
            
              )
            
          
        

腳本運行前a數據庫中的表:
python ORM模塊sqlalchemy的使用_第1張圖片
運行上述代碼之后,a數據庫表:
python ORM模塊sqlalchemy的使用_第2張圖片

7、綁定連接并創建session

          
                cursor 
            
              =
            
             sessionmaker
            
              (
            
            bind
            
              =
            
            db
            
              )
            
            
              #得到的時一個類
            
            
    
    session 
            
              =
            
             cursor
            
              (
            
            
              )
            
            
              #實例
            
          
        

8、增(插入數據)

①插入一條數據

          
                stu 
            
              =
            
             Student
            
              (
            
            
              id
            
            
              =
            
            
              1
            
            
              ,
            
            
        name 
            
              =
            
            
              "張1"
            
            
              ,
            
            
        age 
            
              =
            
            
              18
            
            
              )
            
            
    session
            
              .
            
            add
            
              (
            
            stu
            
              )
            
            
    session
            
              .
            
            commit
            
              (
            
            
              )
            
          
        

python ORM模塊sqlalchemy的使用_第3張圖片
②同時插入多條數據

          
                session
            
              .
            
            add_all
            
              (
            
            
              [
            
            
        Student
            
              (
            
            
              id
            
            
              =
            
            
              2
            
            
              ,
            
            name
            
              =
            
            
              "張2"
            
            
              ,
            
            age
            
              =
            
            
              19
            
            
              )
            
            
              ,
            
            
        Student
            
              (
            
            
              id
            
            
              =
            
            
              3
            
            
              ,
            
            name
            
              =
            
            
              "張3"
            
            
              ,
            
            age
            
              =
            
            
              20
            
            
              )
            
            
              ]
            
            
              )
            
            
    session
            
              .
            
            commit
            
              (
            
            
              )
            
          
        

python ORM模塊sqlalchemy的使用_第4張圖片

9、查詢

①查詢所有數據

          
                all_data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            
              all
            
            
              (
            
            
              )
            
            
              #得到的是一個可迭代對象
            
            
              for
            
             data 
            
              in
            
             all_data
            
              :
            
            
              print
            
            
              (
            
            
              "id:%s__name:%s__age:%s"
            
            
              %
            
            
              (
            
            data
            
              .
            
            
              id
            
            
              ,
            
            data
            
              .
            
            name
            
              ,
            
            data
            
              .
            
            age
            
              )
            
            
              )
            
          
        

python ORM模塊sqlalchemy的使用_第5張圖片

②根據條件查詢多條數據

          
                many_data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            filter_by
            
              (
            
            age
            
              =
            
            
              18
            
            
              )
            
            
              print
            
            
              (
            
            many_data
            
              )
            
            
              #實際是一個sql查詢語句,其還是一個存儲一個對象的帶迭代內容
            
            
              for
            
             data 
            
              in
            
             many_data
            
              :
            
            
              print
            
            
              (
            
            
              "id:%s__name:%s__age:%s"
            
            
              %
            
            
              (
            
            data
            
              .
            
            
              id
            
            
              ,
            
            data
            
              .
            
            name
            
              ,
            
            data
            
              .
            
            age
            
              )
            
            
              )
            
          
        

在這里插入圖片描述
還可以通過序列解包的方式獲取數據

          
                many_data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            filter_by
            
              (
            
            age
            
              =
            
            
              18
            
            
              )
            
            
    data
            
              ,
            
            
              =
            
             many_data
    
            
              print
            
            
              (
            
            
              "id:%s__name:%s__age:%s"
            
            
              %
            
            
              (
            
            data
            
              .
            
            
              id
            
            
              ,
            
            data
            
              .
            
            name
            
              ,
            
            data
            
              .
            
            age
            
              )
            
            
              )
            
          
        

③查詢一條數據

          
                data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            get
            
              (
            
            ident
            
              =
            
            
              3
            
            
              )
            
            
              #查一條,只能以主鍵查
            
            
              print
            
            
              (
            
            
              "id:%s__name:%s__age:%s"
            
            
              %
            
            
              (
            
            data
            
              .
            
            
              id
            
            
              ,
            
            data
            
              .
            
            name
            
              ,
            
            data
            
              .
            
            age
            
              )
            
            
              )
            
          
        

10、刪除

          
            
              #先查詢一條
            
            
    data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            get
            
              (
            
            ident
            
              =
            
            
              3
            
            
              )
            
            
              #然后刪除
            
            
    session
            
              .
            
            delete
            
              (
            
            data
            
              )
            
            
              #然后提交操作
            
            
    session
            
              .
            
            commit
            
              (
            
            
              )
            
          
        

python ORM模塊sqlalchemy的使用_第6張圖片

11、修改

          
            
              # 先查詢一條
            
            
   data 
            
              =
            
             session
            
              .
            
            query
            
              (
            
            Student
            
              )
            
            
              .
            
            get
            
              (
            
            ident
            
              =
            
            
              2
            
            
              )
            
            
              #然后刪除
            
            
   data
            
              .
            
            name 
            
              =
            
            
              "老李頭"
            
            
              #然后提交操作
            
            
   session
            
              .
            
            commit
            
              (
            
            
              )
            
          
        

python ORM模塊sqlalchemy的使用_第7張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲视频精品在线观看 | 国产欧美亚洲精品综合在线 | 色综合网站国产麻豆 | 国产精品久久九九 | 久久亚洲精品一区成人 | 国产精品视频第一区二区三区 | 4htv影院永久免费在线地址 | 91网红福利精品区一区二 | 日本不卡视频在线观看 | 国产美女拍拍拍在线观看 | 在线视频 国产交换 | 日本不卡视频在线视频观看 | 青青青在线视频播放免费 | 乱子伦xxx欧美 | 亚洲国产精品一区二区久 | 亚洲网色| 九九精品视频一区在线 | 最新亚洲精品国自产在线 | 香蕉网伊在线中文慕大全 | 日韩小视频在线播放 | 99久久免费中文字幕精品 | 国产在线播放91 | 九九影院理论片 | 爱爱视频在线观看 | 色综合天天综合网亚洲 | 羞羞的视频网站 | 91久久亚洲最新一本 | 99热热久久这里只有精品8 | 四虎国产精品永久在线看 | 97精品国产97久久久久久 | 欧洲成人在线观看 | 欧美一区二区三区播放 | 曰曰鲁夜夜免费播放视频 | 国产精品久久久久一区二区三区 | 久久精品美女 | 日本无翼乌全彩无遮挡动漫 | 国产精品久久毛片蜜月 | 免费毛片大全 | 日韩在线一区二区三区免费视频 | 精品国产一区二区 | 精品伊人久久久久7777人 |