当前位置: 首页 > news >正文

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服务正在运行,并且您有正确的访问权限。
  • 根据您的数据库设置,数据库地址、端口等信息可能有所不同。
  • 在生产环境中,不要在代码中硬编码数据库凭据,应该使用配置文件或环境变量来管理这些敏感信息。
http://www.lryc.cn/news/375847.html

相关文章:

  • 【idea】解决springboot项目中遇到的问题
  • ubuntu22.04禁止自动休眠的几种方式
  • 智能网站管理系统
  • Android Service学习笔记
  • amr文件怎么转换成mp3?超好用的四种转换方法介绍!
  • 翻转数位00
  • 工具:安装R语言的R包的各种方法
  • 注意力机制和Transformer模型各部分功能解释
  • 短路是怎么形成的
  • 【ZZULIOJ】1106: 回文数(函数专题)
  • 数据库设计规范总结
  • 深度学习(九)——神经网络:最大池化的作用
  • 「前端+鸿蒙」鸿蒙应用开发-ArkTS语法说明-组件声明
  • python的subprocess 模块
  • 【Arc gis】使用DEM提取流域范围
  • 大模型技术工程师:抓住时代机遇,成为行业精英_
  • 孟德尔随机化R包:TwoSampleMR和MR-PRESSO安装
  • 6月18日 Qtday4
  • Vue3模拟国足18强赛抽签
  • mesa编译器nir信息储存问题
  • windows下mysql设置开机自启动
  • L2-002 链表去重(C++)
  • 异或运算在面试题中的应用
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 单词大师(100分) - 三语言AC题解(Python/Java/Cpp)
  • LabVIEW在SpaceX的应用
  • 【Android面试八股文】讲一讲String、StringBuffer和StringBuilder在进行字符串操作时候的效率
  • [自动驾驶 SoC]-4 特斯拉FSD
  • PostgreSQL源码分析——物化视图
  • 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(七)---- 系统调用函数与GDB(Lab: system calls)
  • ORA-12560: TNS:协议适配器错误