Python处理数据库:MySQL与SQLite详解
在数据处理和存储方面,数据库扮演着至关重要的角色。Python提供了多种与数据库交互的方式,其中pymysql
库用于连接和操作MySQL数据库,而SQLite则是一种轻量级的嵌入式数据库,Python标准库中的sqlite3
模块即可满足操作需求。本文将为入门者介绍MySQL和SQLite,并分别展示如何使用Python进行增删改查操作。
1. MySQL 简介
MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于各种Web应用。它支持标准的SQL语言,提供了高性能、高可靠性和可扩展性。
安装pymysql
在Python中操作MySQL数据库,需要先安装pymysql
库。可以使用pip进行安装:
pip install pymysql
1.1 连接MySQL数据库
import pymysql# 创建数据库连接
connection = pymysql.connect(host='localhost', # 数据库主机地址user='your_username', # 数据库用户名password='your_password', # 数据库密码database='your_database' # 数据库名称
)# 创建游标对象
cursor = connection.cursor()
1.2 增加数据(Insert)
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)
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)
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)
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数据库
import sqlite3# 创建数据库连接(如果数据库文件不存在会自动创建)
connection = sqlite3.connect('your_database.db')# 创建游标对象
cursor = connection.cursor()
2.2 增加数据(Insert)
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)
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)
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)
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数据库编程!