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数据库编程!