Flask是一个Python实现的Web框架,它支持多种数据库,包括SQLite。SQLite是一种轻量级的数据库引擎,它没有独立的服务器进程,可以直接嵌入应用程序中,是一个非常方便的选择。
本文将介绍Flask如何使用SQLite,包括数据库连接、表的创建和操作等等。
安装相关包
首先需要安装相关包,包括Flask和SQLite的驱动程序,可以通过pip来安装。
pip install Flask
pip install sqlite3
数据库连接
在Flask中,可以通过自定义一个Database类来实现数据库连接,该类继承自flask_sqlalchemy.SQLAlchemy类。具体代码如下:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///mydatabase.db'
db = SQLAlchemy(app)
在这个例子中,我们定义了一个Flask应用app,并且配置了一个SQLite数据库链接。URI以sqlite://开头,后面是数据库文件的路径。在这里,我们将数据库文件保存在当前目录下,并命名为mydatabase.db。
同时,我们创建了一个DB对象db,可以通过它来操作数据库。
创建表
在Flask中,可以使用db对象来定义数据库表。下面是一个例子:
from sqlalchemy import Column, Integer, String
class User(db.Model):
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True, nullable=False)
email = Column(String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.username
以上代码定义了一个User类,继承自db.Model类,它有三个属性:id、name和email。id是自增长的整数,作为主键,name和email是字符串,分别作为用户名和邮箱地址。同时,这个类还提供了一个repr函数,用于显示User实例的信息。
初始化数据库
在Flask中,我们可以使用db.create_all()方法来初始化数据库。这个方法将会创建所有定义好的表,并把它们保存在数据库中。具体代码如下:
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
在这个例子中,我们使用if name == 'main'来保证这个脚本只会在本地有运行时执行,而不是在其他的地方被导入执行。当脚本被执行时,我们调用db.create_all()来创建数据库,并通过app.run(debug=True)来启动Flask应用程序。
数据库读写操作
在Flask中,我们使用db.session来进行数据库操作,例如添加一个新的用户,可以使用以下代码:
new_user = User(name='John', email='john@example.com')
db.session.add(new_user)
db.session.commit()
在这个例子中,我们创建了一个新的User实例new_user,并使用db.session.add()方法将其添加到数据库中。最后,调用db.session.commit()方法来提交事务。
查询用户可以使用以下代码:
users = User.query.all() # 查询所有用户
user = User.query.filter_by(name='John').first() # 查询姓名为'John'的第一个用户
在这个例子中,我们使用query.all()方法查询所有User实例,并使用query.filter_by()方法查询姓名为'John'的第一个User实例。
以上就是Flask SQLite的完整攻略,可以根据自己的需求进行修改和定制。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flask SQLite(数据库引擎)使用方法详解 - Python技术站