SQLAlchemy介绍和基本使用
数据库是一个网站的基础。Flask可以使用很多种数据库。比如MySQL,MongoDB,SQLite,PostgreSQL等。这里我们以MySQL为例进行讲解。而在Flask中,如果想要操作数据库,我们可以使用ORM来操作数据库,使用ORM操作数据库将变得非常简单。
在讲解Flask中的数据库操作之前,先要安装这些模块
- mysql:如果是在windows上,到官网下载。如果是ubuntu,通过命令sudo apt-get install mysql-server libmysqlclient-dev -yq进行下载安装。
- pymysql:pymysql是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip3 install pymysql
- SQLAlchemy:SQLAlchemy是一个数据库的ORM框架,我们在后面会用到。安装命令为:pip3 install SQLAlchemy。
通过SQLAlchemy连接数据库
- 通过pip安装完SQLAlchemy,pymysq
- 穿件一个py文件,然后倒入SQLAlchemy模块, 这个模块的作用是创建一个引擎连接到数据库
from sqlalchemy import create_engine
- 所以我们就需要获取到下面图片中的一些重要信息
- 代码如下
from sqlalchemy import create_engine
# 数据库的配置变量
# 地址
HOSTNAME = '127.0.0.1'
# 数据库名字
DATABASE = 'flask_demo'
# 端口
PORT = 3306
# 用户名和密码
USERNAME = 'root'
PASSWORD = 'root'
DB_URL = 'mysql+pymysql://{}:{}@{}:{}/{}'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) #####一一对应
#创建数据库引擎
engine = create_engine(DB_URL)
#创建连接
with engine.connect() as con:
result = con.execute('select * from first_table')
print(result)
print(result.fetchone()) #显示数据
- 输出:
- 我们还可以查找单独一行的数据
result = con.execute('select * from first_table where id=2')
print(result.fetchone()) #显示数据
- 输出:
- 总结:配置基础变量,创建DB_url传入变量,创建引擎engine倒入DB_url获取到数据库的配置,通过with engine.connect as xxx创建连接,通过xxx.execute(’select * from 表名字‘)选中表(可以在后面加上where id=?/你自己定义的列名=?来选中特定的一行),最后通过result,fetchone()输出数据