進口?sqlalchemy?作為?救世軍(Salvation Army)?性感(Sex Apple)?需經批準?有待批準(Subject to Approval)?半自動的(Semi-Automatic)?減震(Shock Attenuation)?表面面積(Surface Area)
#?以Sqlite為例,其他數據庫連接字符串是不同的。
發動機?=?sa.create_engine('sqlite://',?echo=True)
元數據?=?山。元數據()
#?假設這是壹個表結構。
widgets_table?=?山。表格(' widgets ',?元數據,
山。列(' id ',?山。整數,?primary_key=True),
山。列(' foo ',?山。字符串(50)),
山。列('欄',?山。字符串(50)),
山。列(' biz ',?山。布爾),
山。列(' baz ',?山。整數),
)
metadata.create_all(引擎)
#?假設這是妳的數據結構,每個元組都是壹個列表中的記錄。
價值觀?=?[
(無,?“測試”,?真的嗎?3),
(無,?“測試”,?真的嗎?3),
]
#?主要參考這部分如何批量插入。
用什麽?engine.connect()?作為?連接:
用什麽?connection.begin()?作為?交易:
嘗試:
馬克筆?=?','.加入('?'?*?len(值[0])
#?按段位數拼人?=?'(?,?,?,?)'
ins?=?插入?變成?{tablename}?價值觀?({markers})'
ins?=?ins . format(tablename = widgets _ table . name,?標記=標記)
#?如果您的表已經存在,只需更改widget _ table。表名的名稱。
連接.執行(ins,價值觀)
除了:
transaction.rollback()
上升
否則:
事務.提交()