史上超详细的flask_sqlalchemy连接mysql数据库

https://www.jianshu.com/p/1ba45bd6c351

 

Python+Flask安装:https://www.jianshu.com/p/cd1925e90eda
Flask路径参数以及请求参数讲解:https://www.jianshu.com/p/54057b4f0437
首先安装pymysql,命令如下:
pip install pymysql
安装过程中看到成功就可以。

可以看到我的pymysql版本为0.9.3

 

pymysql是安装flask_sqlalchemy的前提,接下来安装flask_sqlalchemy,如下:
pip install flask-sqlalchemy
命令执行完后如下是成功的:

 

接下来安装MySQL数据库
1.从官网下载免安装版压缩包mysql-8.0.12-winx64.zip,下载地址:https://dev.mysql.com/downloads/mysql

2.解压到目录(自定义,禁中文):E:\MySQL-8.0.13

3.在目标目录(E:\MySQL-8.0.13\mysql-8.0.13-winx64)下创建my.ini文件,内容如下:

[mysqld]
# 绑定IPv4
bind-address=0.0.0.0
# 设置mysql的安装目录,即你解压缩安装包的位置
basedir=E:\MySQL-8.0.13\mysql-8.0.13-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\MySQL-8.0.13\mysql-8.0.13-winx64/data
# 设置端口号
port=3306
# 允许最大连接数
max_connections=200
# 开启查询缓存
explicit_defaults_for_timestamp=true
# 创建表使用的默认存储引擎
default-storage-engine=INNODB
# 设置服务端的默认字符集
character-set-server=utf8
[mysql]  
# 设置mysql客户端默认字符集  
default-character-set=utf8

4.在目标目录下创建文件夹data(若已存在,清空)

5.配置环境变量,配完点击确定-->确定-->确定,以保证生效:

6.安装mysql服务,并初始化
1)以管理员权限打开cmd窗口
2)执行安装命令:

mysqld --install MySQL --defaults-file="E:\MySQL-8.0.13\mysql-8.0.13-winx64\my.ini"

注:my.ini文件必须是全路径
3)执行初始化命令:

mysqld --initialize

7.启动mysql服务,执行以下命令:
net start mysql

8.修改root用户密码
1)在E:\MySQL-8.0.13\mysql-8.0.13-winx64\data目录下的*.err文件中查找系统为root用户生成的随机密码。
2)使用查找到的密码登录mysql:
mysql -uroot -p你的随机密码
3)修改root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

以上完成了falsk_sqlalchemy和mysql的安装,接下来配置文件:
首先在pyvenv.cfg中修改一个东西,设置include-system-site-packages的值为true。

include-system-site-packages = true

创建数据库连接的配置:
config.py

DIALECT = 'mysql'
DRIVER = 'pymysql'
USERNAME = 'root'
PASSWORD = '123456'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'pythonflask'SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT,DATABASE)

数据库的连接配置完成后,需要在主程序中设置如下:

import uuid
from flask import Flask, request, json, Response
from flask_sqlalchemy import SQLAlchemyimport configapp = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)class Article(db.Model):__tablename__ = 'article'id = db.Column(db.Integer, primary_key=True, autoincrement=True)title = db.Column(db.String(100), nullable=False)content = db.Column(db.Text, nullable=False)db.create_all()

运行程序成功,出现了一个警告:

FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '

看着不舒服,可以在config.py中设置:

SQLALCHEMY_TRACK_MODIFICATIONS = False

再次运行程序即可。
这个时候去看表是否创建成功,下面我这个是成功的:

 

没错,这个article就是我创建的表,到此,成功的将flask_sqlalchemy和mysql连接起来。
nice!
记录此文,记录我的成长!

SQLAlchemy数据库的增删改查 https://www.jianshu.com/p/b7704b6cb2ee



作者:凌烟醉卧
链接:https://www.jianshu.com/p/1ba45bd6c351
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国移动技术愿景2020+

2019独角兽企业重金招聘Python工程师标准>>> 中国移动技术愿景2020 本文档白皮书是中国移动提出的在2020年及其之后的若干年内对产业各方面技术发展的构想,包括行业发展趋势,面向万物的数字化服务和对技术发展的看法。希望产业各方面能够开展…

jQuery对象与dom对象的转换

jQuery对象与dom对象的转换只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是 jquery对象。普通的dom对象一般可以通过$()转换成jquery对象。如:$(document.getElementByIdx_x("msg…

用sqlalchemy对mysql数据库增删改查demo

首先要搭建mysql服务器、安装mysql python驱动、安装sqlalchemy包, 我用的是windows环境,安装参考:https://blog.csdn.net/jishuwenming/article/details/80993840 完整demo 如下: --------------------- 作者:jishuw…

《计算机程序设计艺术》pdf

下载地址:网盘下载 内容简介 编辑本书作者D. E. Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几…

Jsoup 抓取和数据页 认识HTTP头

推荐一本书:黑客攻防技术宝典.Web实战篇 ; 顺便留下一个疑问:能否通过jsoup大量并发訪问web或者小型域名server,使其瘫痪?其有用jsoup熟悉的朋友能够用它解析url来干一件非常无耻的事(源代码保密&#xff…

杭电划分问题

在做杭电做题时遇到好几个有关划分的题目,比如2050 折线分割平面、1290的献给母校的蛋糕,都是数学问题吧,感觉挺有做数学题的感觉的,在这里总结一下。 1、n个点最多把直线分成1n份,这个很好理解 2、n条直线最多把平面分…

flask + 蓝图 用 sqlalchemy 对 mysql 进行 增删查改 的 demo

main.py import uuid # UUID: 通用唯一标识符 # from flask import Flask from flask import Flask, request, json, Response from flask_sqlalchemy import SQLAlchemyfrom app.main.views import * from app.app01.views import * from app.app02.views import * from a…

UVA - 400 Unix ls

/*收获:1. 我觉得最大的收获是,了解了该怎么进行竖向的数据输出并且,以及《入门经典》的做法,并没有先转换为二维数组再输出,而是用了些别的技巧(好像也能算是技巧,具体的看代码吧,这个我也不太…

javascript中String的fromCharCode()方法

前几天遇到一个bug,后端的模板引擎在输出形如: <div title"111 aaa">内容</div> 这样的内容时,无法输出 空格,所以只能用 来代替: <div title"111 aaa">内容</div> 然后前端使用空格来切分title值: var arr1 title.split( ); 然后…

Zend Server更新至6.2版本——虚拟主机全方位管理

Zend Server自从发布6.0以来&#xff0c;并支持云服务&#xff0c;成为很多PHP程序所选择的Web服务器。 Zend Server 6.2版本从更新内容来看&#xff0c;解决了Web服务器与虚拟主机之间的协同管理。并在细节上&#xff0c;更注重性能控制。 具体更新如下&#xff1a; 虚拟主机管…

Flask 蓝图,数据库链接

蓝图 使用场景 如果代码非常多&#xff0c;要进行归类。不同的功能放在不同的文件&#xff0c;把相关的视图函数也放进去。 蓝图也就是对flask的目录结构进行分配&#xff08;应用于小&#xff0c;中型的程序&#xff09; 当然对于大型项目也可以通过 url_prefix 加前缀的…

python基础-02

常见的数据类型 列表 在python中&#xff0c;列表的创建可以是由[]两个方括号组成的。在其他语言中&#xff0c;被称之为数组。 列表里可以存放一组值&#xff0c;并且系统默认的给列表里的每一个元素以索引值&#xff0c;方便查找和使用。 如下&#xff1a; #创建一个列表&…

Flask扩展系列(八)–用户会话管理

安装和启用 遵循标准的Flask扩展安装和启用方式&#xff0c;先通过pip来安装扩展&#xff1a; $ pip install Flask-Login 接下来创建扩展对象实例&#xff1a; 1 2 3 4 5 from flask import Flask from flask.ext.login import LoginManager app Flask(__name__) login…

onmousemove和onmouseout事件的调用,和js使用双引号、单引号的时候应该注意的问题...

使用js的时候&#xff0c;统一使用双引号&#xff0c;然后通过反斜杠进行转义 ①如果同时使用单引号、和双引号的情况下容易出现问题&#xff0c;导致标签中表示的事件不能调用&#xff0c; ②导致由于标签没有封口而出现样式布局错误 1 <!DOCTYPE html>2 <html>3 …

C++ 学习书目

C书单 第一篇 一些同学问我&#xff0c;如何学好C&#xff0c;我没有别的办法给你们&#xff0c;唯一的办法就是读书&#xff0c;读大量的书&#xff0c;就可以解决。要把C作为日常语言&#xff0c;而不是一种程序语言&#xff0c;这样就好办了。 有人又要问我&#xff0c;那么…

CentOS6.5安装配置

一、网络设置&#xff1a; 1、命令&#xff1a;vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 HWADDR00:0C:29:34:11:33 TYPEEthernet UUID6a0e083b-7d65-4afe-9d6f-f42f97659c89 ONBOOTyes NM_CONTROLLEDyes …

js踩过的一些坑

参考我的博客&#xff1a;http://www.isedwardtang.com/2017/08/29/js-bug/转载于:https://www.cnblogs.com/EdwardTang/p/7476769.html

开发中的几款小工具

文本编辑器 ckediter,kindediter,uediter比较多。 http://q.sohu.com/asset/group/ueditor/editor_all.js 马克鳗 用于: 截图测量&#xff0c;取颜色 代码比较工具 Beyond Compare sql书写智能提示工具 SQLPrompt sql自动提示,安装SQLPrompt工具options--->qualification---…

使用PDO总结

PHP使用PDO总结1、php.ini中开启PDO扩展&#xff1a; extensionphp_pdo.dll 重启Apache&#xff01; 2、PDO 构造方法 一共需要三个字段,分别为数据库配置信息&#xff0c;用户名&#xff0c;用户密码 其中数据库配置信息写法mysql:host192.16;post3306;charsetutf-8;dbnametes…

自己写的Python数据库连接类和sql语句拼接方法

python # SQL 查询语句sql "SELECT * FROM user where username %s" % username " and password %s" % password "" 参考&#xff1a; https://www.cnblogs.com/Xjng/p/3821827.html