sqlalchemy-连接数据库

本文介绍了一个使用Python的SQLAlchemy ORM进行数据库操作的例子。通过创建一个名为users的表,并定义了包含id、username、fullname和password四个字段的数据模型。示例展示了如何连接MySQL数据库并创建表结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: UTF-8 -*-
from sqlalchemy import *
import sqlalchemy.util as util
import string, sys
from sqlalchemy.databases import mysql

mysql_engine = create_engine('mysql://root:@localhost:3306/test?charset=utf8',encoding = "utf-8",echo =True)  
#mysql_engine.connect()   
metadata = MetaData()

#创建users表
users_table = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('username', String(20), nullable = False),
    Column('fullname', String(20), nullable = False),
    Column('password', String(20), nullable = False),
    mysql_engine='InnoDB'
)

#mysql_engine='InnoDB' 或者 mysql_engine='MyISAM' 表类型
metadata.create_all(mysql_engine)


说明:
create_engine(数据库://用户名:密码(没有密码则为空)@主机名:端口/数据库名',echo =True)
create_engine('mysql://root:@localhost:3306/test',echo =True) 

### 使用 Flask-SQLAlchemy 配置数据库连接 为了使用 Flask-SQLAlchemy 进行数据库操作,首先需要安装该库。可以通过 `pip` 安装命令完成此过程[^2]: ```bash pip install flask-sqlalchemy ``` #### 初始化应用并配置数据库 URI 在 Flask 应用中初始化 Flask-SQLAlchemy 并设置数据库 URI 是非常重要的一步。通常,在创建 Flask 实例之后立即进行这一步骤。 ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 设置 SQLALCHEMY_DATABASE_URI 来指定要使用的数据库 URL 和驱动器 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' # SQLite 示例 db = SQLAlchemy(app) ``` 这段代码设置了应用程序的数据库 URI 为 SQLite 数据库文件 `site.db` 的路径,并实例化了一个新的 SQLAlchemy 对象绑定到这个 Flask 应用上[^4]。 #### 创建模型类定义表格结构 接着可以定义代表数据库表的 Python 类(即 ORM 模型)。这里展示一个简单的用户表例子: ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) def __repr__(self): return f"User('{self.username}', '{self.email}')" ``` 上述代码片段展示了如何通过继承自 `db.Model` 的类来描述一张名为用户的表及其字段属性。 #### 执行迁移以更新模式 当更改了模型定义时,则需执行数据库迁移以便同步修改后的架构至实际存储介质中去。推荐配合 Flask-Migrate 工具一起工作,它基于 Alembic 提供了一套完整的解决方案用于处理版本控制下的数据库变更任务[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值