首页 > 数据库 >8、MySql数据库连接

8、MySql数据库连接

时间:2024-03-21 21:23:40浏览次数:22  
标签:__ sqlalchemy text app 连接 MySql import 数据库

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text

app = Flask(__name__)
# 主机IP地址
HOSTNAME = "127.0.0.1"
# MySql的监听端口号,默认3306
PORT = 3306
# 用户名,密码,自己设置的
USERNAME = "root"
PASSWORD = "root"
# MySql上创建的数据库名称.
DATABASE = "database_learn"

app.config['SQLALCHEMY_DATABASE_URI'] = \
    f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8"


# 在app.config中设置好连接数据库信息.
# 然后使用SQLAlchemy(app)创建db对象,SQLAlchemy就会自动读取app.config中设置的连接信息.
# 读取的就是上面这个设置的地方app.config['SQLALCHEMY_DATABASE_URI']
db = SQLAlchemy(app)

# 测试连接是否成功!
# 涉及到Flask上下文的问题,所以需要加上with app.app_context().
with app.app_context():
    with db.engine.connect() as conn:
        # 注意这里需要加上text(),不然会报错
        # sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'select 1 from dual'
        # 需要导入from sqlalchemy import text
        ret = conn.execute(text("select 1 from dual"))
        # 正常的话的应该返回(1,)
        print(ret.fetchone())


@app.route("/")
def hello_world():
    return "hello world!"


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5001, debug=True)

效果:连接成功

 

标签:__,sqlalchemy,text,app,连接,MySql,import,数据库
From: https://www.cnblogs.com/pythonex/p/18088271

相关文章

  • 解决SpringBoot环境下Redis哨兵模式连接失败问题,“NOAUTH Authentication required”
    io.lettuce.core.RedisCommandExceptionException:“NOAUTHAuthenticationrequired”在某行工作,项目上线代码,uat环境无异常,上到pp环境有问题,报redis连接不上;观察配置,发觉是apollo的配置是哨兵模式,有个哨兵密码。spring2.2.6RELEASE版本问题。于是写了全局配置,读取配置中......
  • java毕业设计线上牙科诊所管理推荐系统的设计与实现(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,越来越多的传统行业开始向数字化转型。医疗行业作为人们生活中的重要组成部分,其信息化、智能化的需求日益增长。牙科诊所作为提......
  • java毕业设计逍遥大药房管理系统(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着人们生活水平的提高,对健康的关注也日益增加。药房作为提供药品和健康咨询服务的重要场所,其管理效率和服务质量直接影响到人们的用药安全和健康。然而,......
  • Mysql实操基础(数据库作业)
    附上官网地址MySQL1.登录mysql-uusername-ppassword其中,username为数据库的用户名,password为对应的密码。这条命令将会连接到本地默认的MySQL服务器并使用提供的用户名和密码进行身份验证。如果成功登录,则可以开始与MySQL交互了。然后先创建数据库CREATEDATABASE库......
  • java毕业设计小区宠物管理平台(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着社会的发展和人们生活水平的提高,越来越多的家庭开始饲养宠物。在城市中,小区是宠物活动的主要场所之一。然而,随着宠物数量的增加,小区宠物管理面临着许......
  • java毕业设计校园互助平台(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,人们的生活方式和学习方式都发生了翻天覆地的变化。特别是在校园环境中,学生们面临着各种各样的问题和需求,如学术问题、生活琐事......
  • SpringBoot建立websocket连接
    介绍WebSocket协议是一种基于TCP的协议,用于在客户端和服务器之间建立持久连接,并且可以在这个连接上实时地交换数据。WebSocket协议有自己的握手协议,用于建立连接,也有自己的数据传输格式。当客户端发送一个WebSocket请求时,服务器将发送一个协议响应以确认请求。在握手期间,......
  • 【已解决】null value in column “XXX“ violates not-null constraint当我数据库的
    报错信息:nullvalueincolumn"id"violatesnot-nullconstraintDetail:Failingrowcontains(11110,1,null) 一般来说,是因为插入的主键Id为空引起的。这就和我们数据库中的设置默认值产生了冲突,我设置了默认值,为什么他还是报这个字段不能为空的错误?这个时候就要......
  • DB-Router 数据库路由组件
    1.数据库表主要为水平拆分,将大量的日志数据拆分到不同的表中首先我们要知道为什么要用分库分表,其实就是由于业务体量较大,数据增长较快,所以需要把用户数据拆分到不同的库表中去,减轻数据库压力。分库分表操作主要有垂直拆分和水平拆分:垂直拆分:指按照业务将表进行分类,分布到不同......
  • 如何设置IDEA远程连接服务器开发环境并结合cpolar实现ssh远程开发
    文章目录1.检查LinuxSSH服务2.本地连接测试3.Linux安装Cpolar4.创建远程连接公网地址5.公网远程连接测试6.固定连接公网地址7.固定地址连接测试本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接,然后实现远程......