以下是关于在Python程序和Flask框架中使用SQLAlchemy的完整攻略。
一、什么是SQLAlchemy
SQLAlchemy 是一个 Python 的 SQL 工具和 ORM 框架。它通过 SQL 表达式和对象关系映射来支持数据库交互。 它提供了一致的 SQL 表达式语言,以及自定义对象关系映射(ORM)APIs。
二、在Python程序中使用SQLAlchemy的教程
下面是一些基本的Python示例来使用 SQLAlchemy:
1. 安装 SQLAlchemy
首先,先安装SQLAlchemy。
pip install sqlalchemy
2. 导入SQLAlchemy
接下来,我们需要导入 SQLAlchemy。
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
3. 建立数据库连接
使用 create_engine
函数在 Python 中建立与 SQL 数据库的连接。
engine = create_engine('postgresql://username:password@localhost/mydatabase')
这是一个连接 PostgreSQL 数据库的示例。数据库的名字是 mydatabase
,用户名是 username
,密码是 password
,数据库的地址是 localhost
。
4. 建立表格
创建对象和类,用于映射到数据库表格。
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer),
)
metadata.create_all(engine)
这将建立一个名为 users
的表格,其中包含 id
,name
和 age
三个字段。
5. 插入数据
使用 insert
函数插入数据。
conn = engine.connect()
conn.execute(users.insert(), [
{'name': 'Alice', 'age': 25},
{'name': 'Bob', 'age': 30},
])
conn.close()
这将在 users
表格中插入两行数据。
6. 查询数据
使用 select
函数来查询数据。
conn = engine.connect()
result = conn.execute(users.select())
for row in result:
print(row)
conn.close()
这将打印出 users
表格中的所有内容。
三、在Flask框架中使用SQLAlchemy的教程
下面是一些基本的Flask示例使用 SQLAlchemy:
1. 安装Flask-SQLAlchemy
首先,需要使用 pip
安装 Flask-SQLAlchemy
。
pip install flask-sqlalchemy
2. 导入Flask
导入 Flask 和 Flask-SQLAlchemy。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
3. 创建Flask应用
创建一个 Flask 应用。
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://username:password@localhost/mydatabase'
db = SQLAlchemy(app)
4. 建立数据模型
定义一个数据模型类。
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
age = db.Column(db.Integer)
db.Model
是一个基类,可以创建模型类并定义其中的列。在这个例子中,我们定义了三个列,分别是 id
,name
和 age
。
5. 初始化数据库
使用 db.create_all()
函数创建数据库。
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
6. 插入数据
使用 db.session.add()
函数插入数据。
user1 = User(name='Alice', age=25)
user2 = User(name='Bob', age=30)
db.session.add(user1)
db.session.add(user2)
db.session.commit()
7. 查询数据
使用 User.query.all()
函数来查询数据。
users = User.query.all()
for user in users:
print(user.name, user.age)
这将打印出 users
表格中的所有内容。
以上就是在 Python 程序和 Flask 框架中使用 SQLAlchemy 的攻略,希望能对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python程序和Flask框架中使用SQLAlchemy的教程 - Python技术站