国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python SqlAlchemy動態添加數據表字段實例解析

2020-01-04 15:55:38
字體:
來源:轉載
供稿:網友

本文研究的主要是Python SqlAlchemy動態添加數據表字段,具體如下。

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

先看常規用法

from python/271570.html">sqlalchemy import create_engine,Column,String,Integerclass Mybase(Base):  #表名  __tablename__ ='mycars'  #字段,屬性  myid=Column(String(50), primary_key=True)  price=Column(String(50))

上述代碼是創建mycars數據表,字段分別為myid和price,字段數量是固定,那么要實現動態創建數量不明確的字段,代碼如下:

from sqlalchemy import *from sqlalchemy.orm import sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = 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)# 動態添加字段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)# 添加數據dt=table_class(Col1='aaa',Col2="aaa")session.add(dt)session.commit()

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

運行結果:

python,sqlalchemy,字段類型,自增字段,中文字段,字段名,更新字段

當然,在插入數據和查詢數據的時候,會出現無法確定代碼中對應字段的屬性。可以使用SqlAlchemy執行sql實現插入

總結

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


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克前旗| 南通市| 丰城市| 曲阳县| 庆安县| 板桥市| 来宾市| 综艺| 南陵县| 广州市| 拉孜县| 赣榆县| 湟源县| 仙游县| 保定市| 岫岩| 昌都县| 通许县| 五原县| 都江堰市| 桂阳县| 金坛市| 新巴尔虎左旗| 江永县| 班戈县| 博白县| 寿宁县| 宁津县| 永康市| 温州市| 桦川县| 盐山县| 塘沽区| 舟曲县| 石柱| 天等县| 兴海县| 正蓝旗| 长治县| 福清市| 西平县|