【Python成長之路】基於Flask框架開發web -- 瞭解Sqlite3數據庫,並實現簡單的表格管理平臺(2)

【功能】

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,打開後就可以很直觀地進行數據庫查看,並且可以通過圖形化按鈕進行 數據表的增刪改查。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章