【功能】
web數據交互離不開後臺數據庫的管理,本文重點解釋python自帶的sqlite3數據庫。相比較於其他“正規”的數據庫,如mongo、solr、MySQL等,sqlite3相當簡單,屬於輕量級的數據庫。
【知識點】
1、sqlite3數據庫的安裝和創建
用pip命令可以下載安裝sqlite3數據庫
創建數據庫:
con = sqlite3.connect('material.db')
如果有數據庫material.db,則進行連接數據庫的操作;如果沒有此數據庫,則先創建數據庫再進行連接;
2、創建數據表
label = ['ID','網絡IP','地址','責任人','聯繫方式']
content = ['1','10.10.10.10','杭州濱江','鵬哥','123456']
def create():
sql = 'create table {0} ({1},{2},{3},{4},{5})'.format(tablename,label[0],label[1],label[2],label[3],label[4])
result = cur.execute(sql)
con.commit()
return True if result else False
簡單描述爲:create table 表名 (各字段名1,各字段名2……)
當前對數據表的字段未進行輸入類型及長度的限制,比如需要規則ID爲必填項,並且爲整形,長度在10個字節內,則需要修改爲
sql = 'create table matrial_table ("ID" int[10] primary key not null )'
同理,其他字段也可以相同的方式進行類型、長度的限制。
注意:在執行cur.execute()後,要記得con.commit()進行數據庫提交,否則數據並不會真正寫入數據庫中。
3、插入數據
def insert():
sql = 'insert into {0} ({1},{2},{3},{4},{5}) values({6},"{7}","{8}","{9}","{10}")'.format(tablename,label[0],label[1],
label[2],label[3],label[4],content[0],content[1],content[2],content[3],content[4])
result = cur.execute(sql)
con.commit()
return True if result else False
簡單描述爲:insert into 表名 (各字段名1,各字段名2……) values(數值1,數值2……)
這 裏要注意,”{7}“ 是有加雙引號的,爲什麼呢?因爲”{7}“對應的是網絡IP,是個字符串,因此需要加 雙引號,否則會報錯。
4、查詢數據
def query():
sql = 'select * from {0}'.format(tablename)
result = cur.execute(sql)
return list(result)
簡單描述爲:select XX,XX from 表名 where 字段名1="數值1"
5、更新數據: update 表名 set 字段名1=”數值1“ where 字段名2="數值2"
6、刪除某條數據: delete from 表名 where 字段名1="數值1"
【補充】
如果生成了db數據庫,如何查看呢?可以下載一個SQLite Expert,打開後就可以很直觀地進行數據庫查看,並且可以通過圖形化按鈕進行 數據表的增刪改查。