#config.py

MYSQL_NAME = 'root'
MYSQL_PASSWORD = 'zyms90bdcs'
MYSQL_HOST = 'xxxx'
MYSQL_POST = ''
MYSQL_DBNAME = 'flask_sql'
MYSQL_CHARSET = 'utf8' # SQLALCHEMY_DATABASE_URI = 'mysql://{}:{}@{}:{}/{}?charset={}'.format(MYSQL_NAME,MYSQL_PASSWORD,
# MYSQL_HOST,MYSQL_POST,
# MYSQL_DBNAME,MYSQL_CHARSET) SQLALCHEMY_DATABASE_URI = 'mysql://{}:{}@{}:{}/{}'.format(MYSQL_NAME,MYSQL_PASSWORD,
MYSQL_HOST,MYSQL_POST,
MYSQL_DBNAME)

这是链接数据库文件的配置,如果你在models文件中创建了db表,并进行创建 (shell还是直接路由进行创建) create_all()

#models

import pymysql
from flask_sqlalchemy import SQLAlchemy pymysql.install_as_MySQLdb() db = SQLAlchemy() def init_db(app):
db.init_app(app) class User(db.Model):
__tablename__ = 'user' id = db.Column(db.Integer,primary_key=True,autoincrement=True)
u_name = db.Column(db.String(20),unique=True)
u_id = db.Column(db.Integer,unique=True)

# 创建一个 User 的模型,数据库中创建一个 user 的表

# views.py

from flask import Blueprint
from App.models import User, db blue = Blueprint('base1',__name__) @blue.route('/create_all/')
def create_all(): db.create_all() return "DB create success"

很容易出现一个问题

sqlalchemy.exc.InternalError: (InternalError) (1049, "Unknown database 'dome'") None None

有过学过mysql的都会知道,但基础不好的会遇到.

原因是

create_all()
这个函数只是创建表,并不创建数据

更新还有一个坑
当你开开心心完成了上述操作,再次打开(我的方式)创建表发型又出现问题了
ModuleNotFoundError
ModuleNotFoundError: No module named 'MySQLdb'

看在明显是mysqldb 出现问题了,但是我们没有包叫mysqldb啊 只有mysql

终于在网上找到 可能是pymysql 出现问题

在models.py文件中  或者配置文件中也行

import pymysql
pymysql.install_as_MySQLdb()

或者在

MYSQL_NAME = 'root'
MYSQL_PASSWORD = 'zyms90bdcs'
MYSQL_HOST = 'xxxxx'
MYSQL_POST = ''
MYSQL_DBNAME = 'flask_sql'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{}:{}@{}:{}/{}'.format(MYSQL_NAME,MYSQL_PASSWORD,
MYSQL_HOST,MYSQL_POST,
MYSQL_DBNAME) app.config['SQLALCHEMY_DATABASE_URI'] = config.SQLITE_URI

在mysql路径中增加一个驱动 +pymsql  字段

sqlite 不需要

flask 链接mysql数据库 小坑的更多相关文章

  1. Python学习笔记9-Python 链接MySql数据库

    Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...

  2. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  3. C# 链接MySql数据库

    C# 链接MySql数据库只得注意的几点: 1.C#链接MySql数据库要在网上下载一个mysql-connector-net-6.0.4-noinstall.rar  这里面放的都是一堆dll .将 ...

  4. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  5. Java链接MySQL数据库的用配置文件和不用配置文件的代码

    1.利用配置文件(db.properties)链接MySQL数据库 package tool; import java.io.FileInputStream;import java.sql.Conne ...

  6. python3+Flask 链接MySQL 时,提示“No module named MYSQLdb”

    python3+flask 链接Mysql时提示“No module named MYSQLdb” 解决: pip install mysqlclient

  7. SQLServer 远程链接MySql数据库详解

    SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...

  8. Java基于jdbc链接mysql数据库步骤示列

    用JDBC来链接MYSQL数据库,基本步骤都大同小异,只不过不同的数据库之间的URL地址有些不同.其基本步骤可分为以下几点: 1.加载相应的数据库的JDBC驱动程序. 2.利用驱动管理器DriverM ...

  9. jmeter链接mysql数据库

    一.下载与MySQL对应的jar包 1.1.查询MySQL的版本, 命令语句 :SELECT VERSION(); 1.2.MySQL官网下载jar包 ,https://downloads.mysql ...

随机推荐

  1. golang kafka clinet 内存泄露问题处理

    go 内存泄露 新版本服务跑上一天内存占用20g,显然是内存泄露 内存泄露的问题难在定位 技术上的定位 主要靠 pprof 生成统计文件 之前写web项目 基于net/http/pprof 可以看到运 ...

  2. Pytorch中的variable, tensor与numpy相互转化的方法

    1.将numpy矩阵转换为Tensor张量 sub_ts = torch.from_numpy(sub_img) #sub_img为numpy类型 2.将Tensor张量转化为numpy矩阵 sub_ ...

  3. python3多线程应用详解(第一卷:线程的本质概念)

    之前我用过多线程的方式执行了爬虫程序,爬取了糗事百科的数据可以看到速率非常之快,就像正常一个人他要完一个汉堡,再吃喝一瓶水才能走,结果他边吃汉堡边喝水,速率一下加快了一样.首先我们看看什么是线程: 图 ...

  4. 从CVPR 2014看计算机视觉领域的最新热点

    2014看计算机视觉领域的最新热点" title="从CVPR 2014看计算机视觉领域的最新热点"> 编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下 ...

  5. .js——alert()语句

    在.js文件中,通过alert()语句可以生成弹出框,弹出框中的内容message部分可以是常量字符串,也可以是含有变量的字符串连接,下面举几个例子简要说明下: 1. 参数为常量字符串 alert(& ...

  6. SpringBoot打印MyBatis sql日志输出

    SpringBoot打印MyBatis sql日志输出 默认情况下mybatis是不开启SQL日志输出,需要手动配置 方法一:(在mybatis整合在springboot框架的情况下) 只需要在配置文 ...

  7. SQL update 关联更改,内部需要引用表名

    select A.Id,A.Email,( select C.Email from [nopCommerce].[dbo].[Customer] C left join [nopCommerce].[ ...

  8. 奇异值分解SVD

    在介绍奇异值分解(SVD)之前我们先来回顾一下关于矩阵的一些基础知识. 矩阵基础知识 方阵 给定一个$ n×m $的矩阵$ A $,若n和m相等也就是矩阵的行和列相等那矩阵$ A $就是一个方阵. 单 ...

  9. Ionic3 Demo

    本文为原创文章,转载请标明出处 最近又开源了一个小 Demo,基于 Ionic 3.9.2.注册登录功能使用的是 WildDog 野狗通信云,大家可以放心的注册登录玩.电影相关数据来源自"某 ...

  10. unittest(22)- p2p项目实战(3)-project_path

    # 3. project_path.py # 用来读取文件的路径 import os # os.path.split(path)使用: # 1.path如果是具体到文件名,则返回最后层级的文件,和文件 ...