Python处理数据库:MySQL与SQLite详解

Python处理数据库:MySQL与SQLite详解

在数据处理和存储方面,数据库扮演着至关重要的角色。Python提供了多种与数据库交互的方式,其中pymysql库用于连接和操作MySQL数据库,而SQLite则是一种轻量级的嵌入式数据库,Python标准库中的sqlite3模块即可满足操作需求。本文将为入门者介绍MySQL和SQLite,并分别展示如何使用Python进行增删改查操作。

1. MySQL 简介

MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于各种Web应用。它支持标准的SQL语言,提供了高性能、高可靠性和可扩展性。

安装pymysql

在Python中操作MySQL数据库,需要先安装pymysql库。可以使用pip进行安装:

bash 复制代码
pip install pymysql

1.1 连接MySQL数据库

python 复制代码
import pymysql

# 创建数据库连接
connection = pymysql.connect(
    host='localhost',  # 数据库主机地址
    user='your_username',  # 数据库用户名
    password='your_password',  # 数据库密码
    database='your_database'  # 数据库名称
)

# 创建游标对象
cursor = connection.cursor()

1.2 增加数据(Insert)

python 复制代码
try:
    # SQL插入语句
    sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
    val = ("value1", "value2")
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("插入成功")
except Exception as e:
    print("插入失败:", e)
    # 回滚事务
    connection.rollback()
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

1.3 查询数据(Select)

python 复制代码
try:
    # SQL查询语句
    sql = "SELECT * FROM your_table"
    
    # 执行SQL语句
    cursor.execute(sql)
    
    # 获取所有记录
    results = cursor.fetchall()
    
    for row in results:
        print(row)
except Exception as e:
    print("查询失败:", e)
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

1.4 更新数据(Update)

python 复制代码
try:
    # SQL更新语句
    sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
    val = ("new_value1", "value2")
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("更新成功")
except Exception as e:
    print("更新失败:", e)
    # 回滚事务
    connection.rollback()
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

1.5 删除数据(Delete)

python 复制代码
try:
    # SQL删除语句
    sql = "DELETE FROM your_table WHERE column1 = %s"
    val = ("value1",)
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("删除成功")
except Exception as e:
    print("删除失败:", e)
    # 回滚事务
    connection.rollback()
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

2. SQLite 简介

SQLite是一种轻量级的嵌入式数据库,它不需要单独的服务器进程,非常适合在本地存储数据。SQLite支持标准的SQL语法,并且Python标准库中的sqlite3模块可以直接操作SQLite数据库。

2.1 连接SQLite数据库

python 复制代码
import sqlite3

# 创建数据库连接(如果数据库文件不存在会自动创建)
connection = sqlite3.connect('your_database.db')

# 创建游标对象
cursor = connection.cursor()

2.2 增加数据(Insert)

python 复制代码
try:
    # SQL插入语句
    sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)"
    val = ("value1", "value2")
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("插入成功")
except sqlite3.Error as e:
    print("插入失败:", e)
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

2.3 查询数据(Select)

python 复制代码
try:
    # SQL查询语句
    sql = "SELECT * FROM your_table"
    
    # 执行SQL语句
    cursor.execute(sql)
    
    # 获取所有记录
    results = cursor.fetchall()
    
    for row in results:
        print(row)
except sqlite3.Error as e:
    print("查询失败:", e)
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

2.4 更新数据(Update)

python 复制代码
try:
    # SQL更新语句
    sql = "UPDATE your_table SET column1 = ? WHERE column2 = ?"
    val = ("new_value1", "value2")
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("更新成功")
except sqlite3.Error as e:
    print("更新失败:", e)
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

2.5 删除数据(Delete)

python 复制代码
try:
    # SQL删除语句
    sql = "DELETE FROM your_table WHERE column1 = ?"
    val = ("value1",)
    
    # 执行SQL语句
    cursor.execute(sql, val)
    
    # 提交事务
    connection.commit()
    print("删除成功")
except sqlite3.Error as e:
    print("删除失败:", e)
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

通过以上步骤,你可以轻松地使用Python对MySQL和SQLite数据库进行增删改查操作。希望这篇博客能够帮助你入门Python数据库编程!

相关推荐
飞翔的佩奇8 分钟前
Java项目: 基于SpringBoot+mybatis+maven+mysql实现的疾病防控综合管理系统(含源码+数据库+毕业论文)
java·数据库·spring boot·mysql·spring·毕业设计·疾病防控
Anna_Tong24 分钟前
DataWorks 与传统数据治理方案相比有哪些优势?
大数据·数据库·阿里云·云计算·数据安全·dataworks
关关钧1 小时前
【R语言】R语言安装包的相关操作
开发语言·python·r语言
赔罪1 小时前
Python基础-使用list和tuple
windows·vscode·python·pycharm·list
米码收割机2 小时前
【python】python油田数据分析与可视化(源码+数据集)【独一无二】
开发语言·python·数据分析
摸鱼仙人~2 小时前
快速上手mybatis教程
数据库·oracle·tomcat
花酒锄作田2 小时前
[python]png转webp的命令行工具
python
Amd7943 小时前
Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践
python·postgresql·数据分析·开发·最佳实践·psycopg2·数据库集成
查理零世4 小时前
【算法】回溯算法专题③ ——排列型回溯 python
python·算法·深度优先