本文用最简单的示例演示python标准库提供的SQLite数据库进行新增、查询数据的过程。
- # -*- coding: UTF-8 -*-
- from flask import Flask
- import sqlite3
-
- app = Flask(__name__)
-
-
- @app.route('/')
- def hello_world():
- return 'Hello World!'
-
- #创建数据库
- @app.route('/createdb')
- def createdb():
- conn = sqlite3.connect("test.db") #若不存在则自动新建
- conn.close()
- return 'createdb ok.'
-
- #创建数据表
- @app.route('/createtb')
- def createtb():
- conn = sqlite3.connect("test.db")
- sql = 'create table if not exists user(id char,username text)'
- conn.execute(sql)
- conn.close()
- return 'createtb ok.'
-
- #添加记录
- @app.route('/add')
- def add():
- conn = sqlite3.connect("test.db")
- sql = "insert into user(id,username) values(1,'quan')"
- conn.execute(sql)
- sql = "insert into user(id,username) values(2,'test')"
- conn.execute(sql)
- sql = "insert into user(id,username) values(3,'demo')"
- conn.execute(sql)
- conn.commit()
- conn.close()
- return 'add ok.'
-
- #查询列表
- @app.route('/query')
- def query():
- conn = sqlite3.connect("test.db")
- cur=conn.cursor()
- sql = "select * from user "
- cur.execute(sql)
- list=cur.fetchall()
- print(f"共计{len(list)}条记录")
- print(list)
- cur.close()
- conn.close()
- return list
-
- if __name__ == '__main__':
- app.run()
终端执行显示结果:

网页端执行显示查询结果:

上文中执行createdb方法后会在项目目录下创建一个test.db的SQLite数据库文件,此文件使用navicate工具打开可以看到数据表结构。
