最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段實例解析

 更新時間:2018年02月07日 13:51:02   作者:HuangZhang_123  
這篇文章主要介紹了Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段,具體如下。

我們知道使用SqlAlchemy創(chuàng)建類來映射數(shù)據(jù)表,類屬性等于數(shù)據(jù)庫字段,但有時候要在我們創(chuàng)建表的時候,不確定數(shù)據(jù)表字段數(shù)量,遇到這種情況,應如何解決?

先看常規(guī)用法

from sqlalchemy import create_engine,Column,String,Integer
class Mybase(Base):
  #表名
  __tablename__ ='mycars'
  #字段,屬性
  myid=Column(String(50), primary_key=True)
  price=Column(String(50))

上述代碼是創(chuàng)建mycars數(shù)據(jù)表,字段分別為myid和price,字段數(shù)量是固定,那么要實現(xiàn)動態(tài)創(chuàng)建數(shù)量不明確的字段,代碼如下:

from sqlalchemy import *
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mysql+pymysql://root:1234@localhost/test?charset=utf8', echo=False)
# engine = create_engine('sqlite:////MyDB.sqlite3', echo=False)
DBSession = sessionmaker(bind=engine)
session = DBSession()
Base = declarative_base()
#定義類
class table_class(Base):
  __tablename__ = 'aaa'
  id=Column(Integer,primary_key=True)

# 動態(tài)添加字段
for i in range(3):
  setattr(table_class,'Col'+str(i),(Column('Col'+str(i), String(50),comment='Col'+str(i))))
Base.metadata.create_all(engine)

# 添加數(shù)據(jù)
dt=table_class(Col1='aaa',Col2="aaa")
session.add(dt)
session.commit()

上述代碼可看出,通過使用setattr()來實現(xiàn)動態(tài)添加字段,而且字段名可根據(jù)實際命名,comment是字段注釋,這個只有SqlAlchemy 1.2版本才有的功能 (SqlAlchemy 1.2 安裝 :pip install –pre sqlalchemy)

運行結果:

當然,在插入數(shù)據(jù)和查詢數(shù)據(jù)的時候,會出現(xiàn)無法確定代碼中對應字段的屬性??梢允褂肧qlAlchemy執(zhí)行sql實現(xiàn)插入

總結

以上就是本文關于Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段實例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • Python Pyqt5多線程更新UI代碼實例(防止界面卡死)

    Python Pyqt5多線程更新UI代碼實例(防止界面卡死)

    這篇文章通過代碼實例給大家介紹了Python Pyqt5多線程更新UI防止界面卡死的問題,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-12-12
  • Django執(zhí)行源生mysql語句實現(xiàn)過程解析

    Django執(zhí)行源生mysql語句實現(xiàn)過程解析

    這篇文章主要介紹了Django執(zhí)行源生mysql語句實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • pandas中使用數(shù)據(jù)透視表的示例代碼

    pandas中使用數(shù)據(jù)透視表的示例代碼

    本文主要介紹了pandas中使用數(shù)據(jù)透視表的示例代碼,主要包含pivot_table函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Python函數(shù)參數(shù)操作詳解

    Python函數(shù)參數(shù)操作詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)操作,結合實例形式詳細分析了Python形參、實參、默認參數(shù)、關鍵字參數(shù)、可變參數(shù)、對參數(shù)解包以及獲取參數(shù)個數(shù)等相關操作技巧,需要的朋友可以參考下
    2018-08-08
  • Python使用PymuPDF處理PDF文件的操作詳解

    Python使用PymuPDF處理PDF文件的操作詳解

    Python 中的 PymuPDF 是一個強大的庫,可以讓你輕松地處理 PDF 文件,本文將深入探討 PymuPDF 的用法,包括打開、讀取、修改和創(chuàng)建 PDF 文件,以及文本提取和頁面操作,感興趣的朋友可以參考下
    2023-12-12
  • Python變量類型知識點總結

    Python變量類型知識點總結

    在本文里我們給大家分析一篇關于Python變量類型的相關知識點內(nèi)容,需要的朋友們跟著學習下。
    2019-02-02
  • python通過floor函數(shù)舍棄小數(shù)位的方法

    python通過floor函數(shù)舍棄小數(shù)位的方法

    這篇文章主要介紹了python通過floor函數(shù)舍棄小數(shù)位的方法,實例分析了Python中floor函數(shù)的功能及使用技巧,需要的朋友可以參考下
    2015-03-03
  • Python?中將數(shù)字轉換為字母的方法

    Python?中將數(shù)字轉換為字母的方法

    本文詳細介紹了在 Python 中將數(shù)字轉換為字母的幾種常用方法,我們介紹了使用 chr() 函數(shù)、string 模塊和 ord() 函數(shù)等方法,并提供了示例代碼幫助你理解和應用這些方法,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • Python通過RabbitMQ服務器實現(xiàn)交換機功能的實例教程

    Python通過RabbitMQ服務器實現(xiàn)交換機功能的實例教程

    RabbitMQ是一個基于消息隊列的服務器程序,Python可以通過Pika庫來驅(qū)動它,這里我們將來看一個Python通過RabbitMQ服務器實現(xiàn)交換機功能的實例教程:
    2016-06-06
  • Python3爬蟲全國地址信息

    Python3爬蟲全國地址信息

    今天小編就為大家分享一篇關于Python3爬蟲全國地址信息,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論

扶余县| 永顺县| 罗甸县| 麻城市| 陇西县| 凌云县| 信宜市| 枣庄市| 永康市| 海宁市| 通州区| 小金县| 都昌县| 麻阳| 中方县| 宁都县| 景宁| 岚皋县| 旬邑县| 安国市| 云南省| 大连市| 碌曲县| 梅州市| 玛曲县| 翼城县| 庆云县| 衡水市| 淄博市| 桃源县| 铜川市| 望奎县| 宁陵县| 汉沽区| 神池县| 敦化市| 周宁县| 铜川市| 盐源县| 万源市| 岐山县|