python连接mysql数据库、FastAPI、mysql-connector-python

2024-06-12 02:28

本文主要是介绍python连接mysql数据库、FastAPI、mysql-connector-python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

方法工具一、FastAPI

 建议使用fast api中的pymysql

pip3 install fastapi
pip3 install pydantic
pip3 install "uvicorn[standard]"

pip3 中的3是 Python 3 版本的包管理器命令,用于安装和管理 Python 3 版本的第三方库。在某些系统中,同时安装了 Python 2 和 Python 3,为了区分两个版本的 pip 命令,Python 3 版本的 pip 命令被命名为 pip3。这样可以确保在命令行中使用 pip3 命令时,安装的库将会与 Python 3 版本关联。 

from fastapi import FastAPI
#项目名称 = FastAPI()
#如:link = FastAPI()
@link.get("/")
import pymysql
db = pymysql.connect(host='1.0.0.2',user='root',password='CSDN-jingyu1610',database='mysql',charset='utf8',autocommit=True,cursorclass=pymysql.cursors.DictCursor)
#解释
db = pymysql.connect(host='数据库IP地址',user='数据库',password='登录mysql数据库的密码,注意不是登录linux系统的密码',database='连接的数据库',charset='utf8',表示使用 UTF-8 字符集进行数据的编码和解码。autocommit=True,:表示开启自动提交模式。在自动提交模式下,每个 SQL 语句执行完成后会自动进行提交,不需要手动调用 commit() 方法。cursorclass=pymysql.cursors.DictCursor):表示使用字典类型的游标。使用字典类型的游标可以方便地通过列名来访问查询结果,而不是通过列索引。

使用 autocommit=True 和 cursorclass=pymysql.cursors.DictCursor 参数可以实现以下功能:

  • 开启自动提交,减少手动提交的操作。
  • 使用字典类型的游标,方便使用列名来操作查询结果。

详细解释charset='utf8'

表示使用 UTF-8 字符集进行数据的编码和解码。

UTF-8 是一种可变长度的字符编码方式,可以表示世界上几乎所有的字符。使用 UTF-8 编码可以保证数据在传输和存储时,不会出现字符乱码的问题。

设置 charset='utf8' 参数后,pymysql 在连接数据库时会将客户端和服务器之间的通信字符集设置为 UTF-8,这样可以保证数据库和应用程序之间的数据能够正确地进行编码和解码。

方法工具二、mysql-connector-python

mysql-connect-python工具不属于FastAPI当中。

要在Python中连接MySQL数据库,你可以使用一个称为mysql-connector-python的库。

首先,确保你已经安装了这个库。你可以使用以下命令进行安装:

如果不知道可以使用pip -V查看版本。 

一旦安装了库,你可以使用以下代码片段来连接到MySQL数据库:

确保将your_usernameyour_passwordyour_hostyour_databaseyour_table替换为你的实际值。这样你就可以连接到MySQL数据库并执行查询了。

pip3 install mysql-connector-python
import mysql.connector# 创建数据库连接
cnx = mysql.connector.connect(user='your_username', password='your_password',host='your_host', database='your_database')方法一、
# 执行SQL查询
mycursor.execute("SELECT * FROM yourtablename")# 获取查询结果
myresult = mycursor.fetchall()
for x in myresult:print(x)
#关闭连接在完成所有数据库操作后,应关闭游标和数据库连接
mycursor.close()
mydb.close()方法二、
# 创建游标对象,用于执行SQL查询
cursor = cnx.cursor()# 执行SQL查询
query = 'SELECT * FROM your_table'
cursor.execute(query)# 获取查询结果
for row in cursor:print(row)# 关闭游标和数据库连接
cursor.close()
cnx.close()

检查连接

您可以通过检查mydb.is_connected()来验证是否成功连接到数据库。

if mydb.is_connected():print("成功连接到MySQL数据库")

注意事项

  • 确保您的MySQL服务正在运行,并且您有正确的访问权限。
  • 根据您的数据库设置,数据库地址、端口等信息可能有所不同。
  • 在生产环境中,不要在代码中硬编码数据库凭据,应该使用配置文件或环境变量来管理这些敏感信息。

这篇关于python连接mysql数据库、FastAPI、mysql-connector-python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052938

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份