Python操作MySQL数据库实战指南
python使用mysql实例

首页 2025-07-09 19:59:52



Python与MySQL的强强联合:构建高效数据处理的实战指南 在当今数据驱动的时代,高效地管理和操作数据库成为了企业和个人开发者不可或缺的技能

    Python,作为一门强大且易学的编程语言,凭借其丰富的库和框架,在数据处理、机器学习、Web开发等多个领域大放异彩

    而MySQL,作为开源的关系型数据库管理系统(RDBMS),以其高性能、可靠性和易用性,成为了众多项目的首选数据库

    将Python与MySQL结合使用,不仅能够简化数据库操作,还能极大地提升数据处理效率和灵活性

    本文将通过实例,深入讲解如何在Python中使用MySQL,构建高效的数据处理流程

     一、为什么选择Python与MySQL? 1. Python的优势 -简洁易读:Python语法简洁,代码可读性强,降低了学习和维护成本

     -强大生态:拥有诸如Pandas、NumPy等数据处理库,以及SQLAlchemy、PyMySQL等数据库操作库,极大丰富了其功能

     -跨平台兼容:Python可在Windows、Linux、macOS等多种操作系统上运行,便于跨平台开发

     2. MySQL的优势 -开源免费:MySQL是开源软件,降低了使用成本

     -高性能:支持大型数据库的高效存储和查询

     -广泛支持:众多编程语言和应用平台都提供了对MySQL的支持,社区活跃,资源丰富

     二、Python连接MySQL的基础 在Python中操作MySQL,首先需要安装一个MySQL客户端库

    常用的库有`PyMySQL`、`MySQL Connector/Python`等

    这里以`PyMySQL`为例进行说明

     安装PyMySQL bash pip install pymysql 建立数据库连接 python import pymysql 数据库连接配置 config ={ host: localhost, 数据库服务器地址 user: root, 数据库用户名 password: password, 数据库密码 database: testdb, 数据库名 charset: utf8mb4,编码方式 cursorclass: pymysql.cursors.DictCursor 返回结果集为字典格式 } 创建数据库连接 connection = pymysql.connect(config) try: with connection.cursor() as cursor: 执行SQL查询 sql = SELECT VERSION() cursor.execute(sql) result = cursor.fetchone() print(fMySQL版本: {result【VERSION()】}) finally: connection.close() 上述代码展示了如何连接到MySQL数据库并执行一个简单的查询,获取MySQL的版本信息

     三、数据操作实战 1. 创建表 python try: with connection.cursor() as cursor: 创建表的SQL语句 sql = CREATE TABLE IF NOT EXISTS users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, age INT, email VARCHAR(255) ) cursor.execute(sql) connection.commit()提交事务 except pymysql.MySQLError as e: print(fError: {e}) finally: connection.close() 2. 插入数据 python try: with connection.cursor() as cursor: 插入数据的SQL语句 sql = INSERT INTO users(name, age, email) VALUES(%s, %s, %s) val =(Alice,30, alice@example.com) cursor.execute(sql, val) connection.commit()提交事务 except pymysql.MySQLError as e: print(fError: {e}) finally: connection.close() 3. 查询数据 python try: with connection.cursor() as cursor: 查询数据的SQL语句 sql = SELECTFROM users cursor.execute(sql) result = cursor.fetchall() for row in result: print(row) except pymysql.MySQLError as e: print(fError: {e}) finally: connection.close() 4. 更新数据 python try: with connection.cursor() as cursor: 更新数据的SQL语句 sql = UPDATE users SET age = %s WHERE name = %s val =(31, Alice) cursor.execute(sql, val) connection.commit()提交事务 except pymysql.MySQLError as e: print(fError: {e}) finally: connection.close() 5. 删除数据 python try: with connection.cursor() as cursor: 删除数据的SQL语句 sql = DELETE FROM users WHERE name = %s val =(Alice,) cursor.execute(sql, val) connection.commit()提交事务 except pymysql.MySQLError as e: print(fError: {e}) finally: connection.close() 四、使用ORM框架简化操作 虽然直接使用SQL语句能够灵活控制数据库操作,但对于复杂项目,直接使用SQL会增加代码复杂度和维护难度

    此时,对象关系映射(ORM)框架如SQLAlchemy就显得尤为重要

     安装SQLAlchemy bash pip install sqlalchemy 使用SQLAlchemy进行数据库操作 python from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker 创建数据库引擎 engine = create_engine(mysql+pymysql://root:password@localhost/testdb, echo=True) Base = declarative_base() 定义数据库模型 class User(Base): __tablename__ = users id = Co

nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密