今天使用了tinydb這個庫不錯呀。
1. create db
db = tinydb('/tmp/db.json')
2. create table
table = db.table('user')
table2 = db.table('data')
3. 查詢一共有幾張表
db.tables()
set([u'_default', u'user', u'image'])4. 增加資料
一次增加一條的方法:
table.insert()
table.insert()
一次增加多條的方法:
table.insert_multiple([,,])
5. 檢視現在有多少資料表
table.all()
結果:6. 看乙個表當中的key 是否存在[, ]
from tinydb.queries import query, where
table.contains(where('name'))
truetable.contains(where('year'))
false7. 查詢
q = query()
table.search( q.name == 'nick' )
查詢一下 name 共有多少資料
table.search( q.name )
[, , ]查詢 name 個數
table.count( where('name') )
查詢 name == 'nick' 的個數table.count(where('name')=='nick')
表裡共有多少條資料len(table)
也可以用get 方法 這個方法只返回乙個結果,結果可能是多個,如果用search就可返回多個結果table.get(where('name')=='nick')
查詢子項
table.insert(})
[, , , }]table.search(q.value.val) # 用這樣的方式可以直接找到
[}]查詢裡邊的項大於多少可以直接寫
table.search(q.age>8)
[, ]年齡!=23
table.search(~(q.age==23))
[, , }]查詢年齡是8 或 23的人
table.search( (q.age == 8) | (q.age==23))
[, ]查詢年齡是8 and 23的人
table.search( (q.age==8)&(q.age==23))
查詢一下是否這個key存在table.search( q.age.exists() )
[, , ]table.search( q.year.exists() ) 這兩個功能太酷了!!!!
正則搜尋key
table.search(q.name.search(r'[a-z]+'))正則匹配[, ]
table.search(q.name.matches(r'\d+'))
[, ]8. update 操作
當前的資料是
[, ]執行更新一條記錄
table.update(,where('age')==8)
[, ]更新所有的 name 為111
table.update()
[, ]再增加兩條資料用來測刪除
>>> table.insert()
3>>> table.insert()
9. 刪除資料 name 等於 new2 的
table.remove(where('name')=='new2')
[, , ]看去對單張表操作基本無可挑剔了,多個錶能不能聯合查詢呢,我沒有看到,有時間再弄這個吧。
SpringBoot Swagger簡單使用
io.springfox springfox swagger2 2.9.2 io.springfox springfox swagger ui 2.9.2 import org.springframework.context.annotation.bean import org.springfram...
UICollectionView的簡單使用
所屬controller要遵循三個協議 uicollectionviewdatasource,uicollectionviewdelegate,uicollectionviewdelegateflowlayout uicollectionviewflowlayout flowlayout uicol...
BGAQRCode Android的簡單使用
compile com.google.zxing core 3.2.1 xmlns android 這句是使用選擇器框架時用到的 xmlns tools package com.huaqiang.zxingdemo 選擇框架用到 android name android.permission.cam...