黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python ORM模塊sqlalchemy的使用

系統(tǒng) 1987 0

1、安裝sqlalchemy

          
                pip install sqlalchemy

          
        

2、導入必要的包及模塊

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

          
        

3、創(chuàng)建數(shù)據(jù)庫連接實例

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

4、創(chuàng)建一個元類的繼承類

          
                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、創(chuàng)建表

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

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

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

7、綁定連接并創(chuàng)建session

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

8、增(插入數(shù)據(jù))

①插入一條數(shù)據(jù)

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

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

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

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

9、查詢

①查詢所有數(shù)據(jù)

          
                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張圖片

②根據(jù)條件查詢多條數(shù)據(jù)

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

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

          
                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
            
              )
            
            
              )
            
          
        

③查詢一條數(shù)據(jù)

          
                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張圖片


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論