前一篇文章有提到该如何利用 SQLALchemy 建立一张资料表,
这篇文章主要是纪录该如何利用 SQLALchemy 进行资料的操作,
查询的部分则是会放到下一篇文章
可以透过在同一个 module 下直接进行资料的操作,
也可以将另外撰写一个 module 并将表结构以及操作实体 import
来进行操作,下面的范例都会是采用後者的写法并将档案命名为 test.py
from main import create_session
from main import Test
session = create_session()
利用 session.add() 即可插入单笔资料
import datetime
from main import create_session
from main import Test
session = create_session()
datas = {
"name": "nick",
"time": datetime.datetime.now()
}
session.add(Test(**datas))
session.commit()
session.close()
注: sqlite 的 DATETIME 只接受 DATETIME object 的型态,因此不需要 strftime()
注: **
代表将资料打包成 key, value 的形式,详细参考资料
如果加入了不在表结构当中的元素,系统则会跳出错误
from main import create_session
from main import Test
session = create_session()
datas = {
"name": "nick",
"time": datetime.datetime.now(),
"location": "Taiwan"
}
try:
session.add(Test(**datas))
session.commit()
except Exception as e:
print(e.__class__.__name__)
print(str(e))
finally:
session.close()
将资料以串列的型态包起来并利用 session.add_all()
from main import create_session
from main import Test
session = create_session()
datas = [
Test(name="nick", time=datetime.datetime.now()),
Test(name="honey", time=datetime.datetime.now())
]
try:
session.add_all(datas)
session.commit()
except Exception as e:
print(e.__class__.__name__)
print(str(e))
finally:
session.close()
from main import create_session
from main import Test
session = create_session()
datas = {"name": "andy"}
try:
session.query(Test).filter_by(id=1).update(datas)
session.commit()
except Exception as e:
print(e.__class__.__name__)
print(str(e))
finally:
session.close()
语法拆解:
原理同 update(),只是 delete() 并不需要传入参数
from main import create_session
from main import Test
session = create_session()
try:
session.query(Test).filter_by(id=1).delete()
session.commit()
except Exception as e:
print(e.__class__.__name__)
print(str(e))
finally:
session.close()
<<: [C# Winform] MDI 多重视窗操作-如何避免重复开启
>>: Certified Oracle 1Z0-1057-21 Exam Dumps is What You Really Need to Pass Your Exam
Q: 这个看起来像猫爪的东西是什麽? A: 喵? 本篇开始将实作选单的微动画,比较特别的要来说说t...
还记得我们在之前做过变化模式吗? 没错,就是滑鼠悬停之後会变色的那个。 我们今天呢,就是要来帮它们...
今天我们要实作一个华氏摄氏的温度转换器,首先先来设计他的介面 import javax.swing....
Object content Array 是一种 Object,所以我们也能够用 key valu...
还记得之前我们介绍过 Cold Observable v.s. Hot Observable 吗? ...