首页 > 数据库 >在Python中使用MySQL:保姆级指南

在Python中使用MySQL:保姆级指南

时间:2024-08-20 14:23:52浏览次数:10  
标签:connector err Python 数据库 MySQL cursor 保姆 mysql

Python是一种广泛使用的高级编程语言,因其简洁易读以及强大的库支持而受到开发者的青睐。当需要在Python程序中处理数据库时,MySQL是一个流行的选择。MySQL是一个开源的关系数据库管理系统,广泛用于Web应用程序的开发。

目录

第一步:安装MySQL数据库

第二步:安装MySQL Connector

第三步:连接到MySQL数据库

第四步:执行SQL查询

第五步:插入、更新和删除数据

总结


第一步:安装MySQL数据库

在开始之前,请确保你的系统上安装了MySQL数据库。你可以从MySQL的官方网站下载并安装它。安装完成后,你需要创建一个数据库和表,以供后续使用。

第二步:安装MySQL Connector

Python需要一个数据库连接器来与MySQL数据库进行交互。mysql-connector-python是一个由Oracle官方提供的连接器,你可以通过pip安装它:

pip install mysql-connector-python
第三步:连接到MySQL数据库

安装完连接器后,你可以使用以下代码连接到MySQL数据库:

import mysql.connector  
  
config = {  
    'user': 'your_username',  #用户名
    'password': 'your_password',  #密码
    'host': 'localhost',  #端口
    'database': 'your_database',  
    'raise_on_warnings': True  
}  
  
try:  
    cnx = mysql.connector.connect(**config)  
    print("成功连接到数据库")  
except mysql.connector.Error as err:  
    print(f"连接失败,错误为 {err}")
第四步:执行SQL查询

连接到数据库后,你可以执行SQL查询。以下是一个示例,演示如何执行一个简单的SELECT查询:

cursor = cnx.cursor()  
query = ("SELECT * FROM your_table")  
  
try:  
    cursor.execute(query)  
    for (column1, column2) in cursor:  
        print(f"Column1: {column1}, Column2: {column2}")  
except mysql.connector.Error as err:  
    print(f"查询失败,错误为 {err}")  
finally:  
    cursor.close()  
    cnx.close()
第五步:插入、更新和删除数据

除了查询数据,你还可以使用Python向数据库插入、更新或删除数据。以下是一个插入数据的示例:

cursor = cnx.cursor()  
insert_query = ("INSERT INTO your_table (column1, column2) VALUES (%s, %s)")  
data = ('value1', 'value2')  
  
try:  
    cursor.execute(insert_query, data)  
    cnx.commit()  
    print("数据插入成功")  
except mysql.connector.Error as err:  
    print(f"插入失败,错误为 {err}")  
finally:  
    cursor.close()  
    cnx.close()
总结

通过遵循上述步骤,你应该能够在Python程序中成功使用MySQL数据库。无论是执行简单的查询还是复杂的数据库操作,mysql-connector-python库都提供了所需的功能。记得在进行数据库操作时总是考虑安全性和性能,尤其是在处理用户输入和敏感数据时。

标签:connector,err,Python,数据库,MySQL,cursor,保姆,mysql
From: https://blog.csdn.net/2401_84670644/article/details/141357438

相关文章

  • python实用教程(二):安装配置Pycharm及使用(Win10)
    上一篇:python实用教程(一):安装配置anaconda(Win10)-CSDN博客1、简介及下载PyCharm是一款功能强大的Python编辑器,具有跨平台性。是Jetbrains家族中的一个明星产品。下载地址:DownloadPyCharm:ThePythonIDEfordatascienceandwebdevelopmentbyJetBrains由于个人用......
  • AI换脸Rope软件整合包保姆级使用教程,最新珍珠版,支持N卡,win10、win11可用
    大家好 今天要跟大家介绍的是一款速度超快的换脸AI——Rope的最新版本。这款软件最让人惊艳的地方是融合换脸和脸部区域控制换脸。你别看他只有区区4K多stars除了它的换脸速度让人惊艳之外,这个工具还支持多张照片同时进行换脸。也就是说,你可以选几张人脸照片,算法会自动融合这......
  • Centos 7.9系统 源码安装MySQL5.7版本
    mysql5.7安装详细一、MySQL5.7源码安装部署1.1安装环境准备相关依赖包的作用:cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数,如:安装目录、数据存放目录、字符编码、排序规则等。boost库:从MySQL5.7.5开......
  • MySQL5.7 用户设置密码解决方法
    1:执行修改用户的密码时,一直报错:即修改密码命令:mysql>alteruser'root'@'localhost'identifiedby'123456';报错如下:mysql>alteruser'root'@'localhost'identifiedby'123456';ERROR1396(HY000):OperationALTE......
  • MySQL编译安装-麒麟V10 x86
    环境信息操作系统:KylinLinuxAdvancedServerV10(Sword)架构:X86MySQL版本:5.7.44编译安装必要的依赖库和编译工具sudoyumgroupinstall'DevelopmentTools'sudoyuminstallcmakencurses-developenssl-develboost-devel下载MySQL源码从MySQL官方网站......
  • Centos 7.9系统 源码安装MySQL8.0
    1.编译安装1.1下载编译所需包#检查重复包、卸载rpm-qa|grepmariadb*|xargsrpm-e--nodeps#下载所需软件包cd/usr/local/src/wgethttps://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.1.2.tar.xzwgethttps://mirrors.ustc.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gzwget......
  • LeetCode-Python-3154. 到达第 K 级台阶的方案数(DFS + 数学)
    给你有一个 非负 整数 k 。有一个无限长度的台阶,最低 一层编号为0。Alice 有一个整数 jump ,一开始值为0。Alice从台阶1开始,可以使用 任意 次操作,目标是到达第 k 级台阶。假设Alice位于台阶 i ,一次 操作 中,Alice可以:向下走一级到 i-1 ,但该操作......
  • 2024年全国青少年信息素养大赛国赛PYTHON组(C++做法)
    目录前提第一题第二题第三题第四题第五题:第六题前提鄙人是C++学生,所以将PYTHON题做为C++题,还请各位多多海涵!!!部分芝士来自度娘和其它网站温馨提示:题目顺序可能不同,请各位仔细浏览! 第一题题目描述蓝蓝最近学到了一些单词,比如orange(橘子),apple(苹果),pear(梨)。......
  • 基于PHP+MySQL组合开发的DIY分销商城小程序源码系统 附带源代码包以及搭建部署教程
    系统概述随着消费者对购物便捷性、个性化需求的不断增长,传统的电商模式已难以满足市场多样化需求。分销商城小程序以其低门槛、易传播、高粘性等特点,成为众多商家转型升级的首选。本源码系统正是基于这一市场需求,利用PHP这一成熟稳定的后端开发语言和MySQL数据库,结合微信小程......
  • EOFException com.mysql.cj.protocol.FullReadInputStream in readFully
    背景:mysql查询性能瓶颈,一般前提有很多查询超时导致这个问题java.io.EOFException:Cannotreadresponsefromserver.Expectedtoread4bytes,read0bytesbeforeconnectionwasunexpectedlylost.atcom.mysql.cj.protocol.FullReadInputStream.readFully(FullRe......