flask框架实现连接sqlite3数据库的方法分析


Posted in Python onJuly 16, 2018

本文实例讲述了flask框架实现连接sqlite3数据库的方法。分享给大家供大家参考,具体如下:

1. 在flask文件夹中新建一个models.py文件用来定义模型,内部代码如下

import sqlite3 #导入sqlite3包
def get_conn():
 #定义该函数用来连接数据库
 return sqlite3.connect("test.db")
class User(object):
 def __init__(self,id,name):
  self.id = id
  self.name = name
 def save(self):
  sql = "insert into user VALUES (?,?)"#sql语句
  conn = get_conn()#连接数据库
  cursor = conn.cursor()#定义一个游标
  cursor.execute(sql,(self.id,self.name))#执行sql语句
  conn.commit()#提交数据库改动
  cursor.close()#关闭游标
  conn.close()#关闭数据库连接
 '''
 staticmethod相当于一个定义在类里面的函数,所以如果一个方法既不跟实例
 相关也不跟特定的类相关,推荐将其定义为一个staticmethod,这样不仅使代
 码一目了然,而且似的利于维护代码。
 '''
 @staticmethod
 def query():
  sql = "select * from user"
  conn = get_conn()
  cursor = conn.cursor()
  rows = cursor.execute(sql)
  users = []
  for row in rows:
   user = User(row[0],row[1])
   users.append(user)
  conn.commit()
  cursor.close()
  conn.close()
  return users
 def __str__(self):
  return 'id:{}--name:{}'.format(self.id,self.name)#注此处的是点不是逗号

2. 在flask文件夹中新建一个manage.py文件

(1)导入flask_script包,导入sqlite3包,导入models.py中定义的模型,导入flask中的应用,所以最终头部代码如下

from flask_script import Manager
from learn_flask_script import app
import sqlite3
from models import User

(2)创建数据库,代码如下

@manager.command
def init_db():
 sql = "create table user (id INT,name TEXT)"
 conn = sqlite3.connect("test.db")
 cursor = conn.cursor()
 cursor.execute(sql)
 conn.commit()
 cursor.close()
 conn.close()

(3)保存数据,代码如下

@manager.command
def save():
 user = User(1,'csdn')
 user.save()

(4)查询数据,代码如下

@manager.command
def query_all():
 users = User.query()
 for user in users:
  print(user)

整体代码如下

from flask_script import Manager
from learn_flask_script import app
import sqlite3
from models import User
manager = Manager(app)
@manager.command
def init_db():
 sql = "create table user (id INT,name TEXT)"
 conn = sqlite3.connect("test.db")
 cursor = conn.cursor()
 cursor.execute(sql)
 conn.commit()
 cursor.close()
 conn.close()
@manager.command
def save():
 user = User(1,'zhangjia')
 user.save()
@manager.command
def query_all():
 users = User.query()
 for user in users:
  print(user)
if __name__ == "__main__":
 manager.run()

3. 在终端中使用命令即可运行数据库的创建,添加以及查询

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python获得一个月有多少天的方法
Jun 04 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python3 queue队列模块详细介绍
Jan 05 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
python3实现点餐系统
Jan 24 Python
python命名空间(namespace)简单介绍
Aug 10 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
python实现数字炸弹游戏
Jul 17 Python
python中加背景音乐如何操作
Jul 19 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 #Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 #Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 #Python
Sanic框架请求与响应实例分析
Jul 16 #Python
解决Python 中英文混输格式对齐的问题
Jul 16 #Python
Django实战之用户认证(用户登录与注销)
Jul 16 #Python
Python3数据库操作包pymysql的操作方法
Jul 16 #Python
You might like
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
jQuery 选择器理解
2010/03/16 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
Python实现约瑟夫环问题的方法
2016/05/03 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
从python读取sql的实例方法
2020/07/21 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
转党组织关系介绍信
2014/01/08 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
销售经理岗位职责
2014/03/16 职场文书
小组名称和口号
2014/06/09 职场文书
降价通知函
2015/04/23 职场文书
英语投诉信范文
2015/07/03 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏