【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,打开后就可以很直观地进行数据库查看,并且可以通过图形化按钮进行 数据表的增删改查。

【Python成长之路】基于Flask框架开发web -- 了解Sqlite3数据库,并实现简单的表格管理平台(2)_第1张图片

你可能感兴趣的:(Python成长之路)