Flask交流

番外篇之Flask连接MySQL数据库

2018-09-03  本文已影响684人  十柒年

1、前言

这几天连续好几天没更新了,不是因为懒,而是在学习Python的过程中遇到好多问题,上篇文章装好了mysql,版本8.0.12数据库,也安装好了SQl_Alchemy,就等着建立模型和数据库进行交互了,就在这时遇到了问题,安装好的mysql只能通过命令还控制,虽说简单的增删改查命令也会写,但是从觉得少的什么,没错,少一个可视化工具来看的数据库以及里面的数据,以前见过一块数据库管理工具Navicat,所以决定用它了。

2、安装Navicat连接MySQL

下载地址就不说了,官网是https://www.navicat.com.cn/网上资源挺多的,安装过程也很简单,不在赘述,安装好之后就要了连接mysql了,如下图。

image.png
点击确定,嗯报错了。报下面的错误。
image.png
刚开始遇到这个问题,真的是一头雾水,然后去百度搜,中间的艰辛就不说了,给大家说下解决方案,之所以会出现这个问题mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 所以解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 代码如下。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 
FLUSH PRIVILEGES; #刷新权限 

这个成功之后,在用Navicat连接应该就可以成功了。


image.png

请忽略创建好的db_demo1数据库。重新执行下sql语句。

create database db_demo2; 
create TABLE person(id int,name VARCHAR(8));
insert into person(id,name) VALUES (1,"张三")

创建数据,创建表,以及插入数据。

3、flask连接数据库并取值。

打开pycharm,新建一个项目,代码如下。需要先导出一个pymysql的包。

from flask import Flask
import pymysql

app = Flask(__name__)
# 连接mysql字符串
db = pymysql.connect("localhost", "root", "root", "db_demo2")
# 新建游标
cursor = db.cursor()
# 执行sql语句
cursor.execute("select * from person")
data = cursor.fetchone()
print(data)

@app.route('/')
def index():
    return 'index'

if __name__ == '__main__':
    app.run(debug=True)

主要步骤就是建立数据库连接,定义游标,执行sql语句,输出结果。
来看下print的输出结果。

image.png
已经查询出结果了,至此,flask连接mysql已经讲完了,另外求助小伙伴一个问题,如何在pycharm里面吧debug模式打开,我在app.run()中写了debug=True,但是没用,有知道的小伙伴欢迎留言哈。
如何在pycharm里面吧debug模式打开问题已解决 详情请看 https://www.jianshu.com/p/473fa42fff18
Study hard and make progress every day.

更多学习资料请关注"爱游戏爱编程"。


爱游戏爱编程.jpg
上一篇 下一篇

猜你喜欢

热点阅读