SQLAlchemy介绍和基本使⽤
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连接数据库
from sqlalchemy import create_engine
# 数据库的配置变量
HOSTNAME ='127.0.0.1'
PORT    ='3306'
DATABASE ='demo0417'
USERNAME ='root'
PASSWORD ='root'
DB_URI ='mysql+pymysql://{}:{}@{}:{}/{}'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
# 创建数据库引擎
engine =create_engine(DB_URI)
#创建连接
t() as con:
result = ute('select * from students')
print(result.fetchone())
⾸先从sqlalchemy中导⼊create_engine,⽤这个函数来创建引擎,然后⽤t()来连接数据库。其中⼀个⽐较重要的⼀点是,通过create_engine函数的时候,需要传递⼀个满⾜某种格式的字符串,对这个字符串的格式来进⾏解释
dialect+driver://username:password@host:port/database?charset=utf8
dialect是数据库的实现,⽐如MySQL、PostgreSQL、SQLite,并且转换成⼩写。driver是Python对应的驱动,如果不指定,会选择默认的驱动,⽐如MySQL的默认驱动是MySQLdb。username是连接数据库的⽤户名,password是连接数据库的密码,host是连接数据库的域名,port是数据库监听的端⼝号,database是连接哪个数据库的名字。
⽤SQLAlchemy执⾏原⽣SQL
我们将上⼀个例⼦中的数据库配置选项单独放在⼀个constants.py的⽂件中
from sqlalchemy import create_engine
from constants import DB_URI
mongodb和mysql结合#连接数据库
engine =create_engine(DB_URI,echo=True)
# 使⽤with语句连接数据库,如果发⽣异常会被捕获
t() as con:
# 先删除users表
# 创建⼀个users表,有⾃增长的id和name
# 插⼊两条数据到表中
# 执⾏查询操作
# 执⾏查询操作
results = ute('select * from persons')    # 从查的结果中遍历
for result in results:
print(result)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。