使用SQLAlchemy连接MySQL

0.环境

安装SQLAlchemy

pip install SQLAlchemy

安装数据库连接驱动

pip install pymysql

在Python3.6之后似乎使用MySQLdb不是很方便,索性就用pymysql了。不使用SQLAlchemy单纯使用pymysql操纵数据库也挺方便的。
还可以使用另外一些连接驱动

1.连接到数据库

首先使用create_engine方法创建一个连接
语法:

from sqlalchemy import create_engine
engine = create_engine('dialect+driver://username:password@host:port/database')

dialect是数据库的实现,比如MySQL、SQLite等。
driver是Python对应的驱动,默认为MySQLdb,可省略,其他一些可用的驱动见上面的链接,这里我们使用pymysql这个驱动。
eg:

engine = create_engine('mysql+pymysql://root:123456@localhost/test')

使用用户名root、密码123456连接到了MySQL中的test数据库。

2.遇到的一些问题

在省略数据库驱动时出现错误ImportError: No module named MySQLdb

解决方法:使用pymysql作为数据库驱动,安装方法见0.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装Flask和SQLAlchemy的库。可以使用以下命令进行安装: ``` pip install flask pip install sqlalchemy ``` 接下来,你需要在Flask应用程序中配置SQLAlchemy。在你的Flask应用程序中,需要添加以下代码: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://<username>:<password>@<host>/<database_name>' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) ``` 在上面的代码中,你需要用实际的数据库连接信息替换`<username>`, `<password>`, `<host>`和`<database_name>`。`SQLALCHEMY_TRACK_MODIFICATIONS`配置项设置为False可以禁止大部分对数据库的修改监控,以提高性能。 现在,你可以定义一个模型类来表示数据库表。下面是一个示例: ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) email = db.Column(db.String(120), unique=True) def __init__(self, name, email): self.name = name self.email = email def __repr__(self): return '<User %r>' % self.name ``` 最后,你可以使用SQLAlchemy提供的API进行数据库操作。例如,以下代码将在数据库中创建一个新用户: ```python from models import User new_user = User('John', 'john@example.com') db.session.add(new_user) db.session.commit() ``` 以上就是使用Flask和SQLAlchemy连接Mysql数据库的基本过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值