太全了!用Python操作MySQL的使用教程集锦!("超详细!Python操作MySQL完整教程大全!")
原创
一、Python操作MySQL简介
Python操作MySQL数据库重点依靠于几个库,如MySQLdb、pymysql和mysql-connector-python等。这些库提供了与MySQL数据库进行交互的接口。本文将详细介绍怎样使用Python连接MySQL数据库,以及怎样进行增删改查等操作。
二、环境准备
在进行Python操作MySQL之前,需要确保以下环境已经安装:
- Python 3.x
- MySQL数据库
- 对应的Python库(MySQLdb、pymysql或mysql-connector-python)
三、安装Python库
以下是安装Python库的命令,以pymysql为例:
pip install pymysql
四、连接MySQL数据库
以下是一个使用pymysql连接MySQL数据库的示例代码:
import pymysql
# 连接数据库
connection = pymysql.connect(host='localhost',
user='root',
password='123456',
database='mydatabase',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
五、创建数据库表
以下是一个创建数据库表的示例代码:
try:
with connection.cursor() as cursor:
# 创建表
create_table_query = """
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100)
)
"""
cursor.execute(create_table_query)
connection.commit()
except pymysql.MySQLError as e:
print(f"Error: {e}")
finally:
connection.close()
六、插入数据
以下是一个向数据库表中插入数据的示例代码:
try:
with connection.cursor() as cursor:
# 插入数据
insert_query = "INSERT INTO users (username, password, email) VALUES (%s, %s, %s)"
user_data = ('testuser', 'password123', 'testuser@example.com')
cursor.execute(insert_query, user_data)
connection.commit()
except pymysql.MySQLError as e:
print(f"Error: {e}")
finally:
connection.close()
七、查询数据
以下是一个查询数据库表中数据的示例代码:
try:
with connection.cursor() as cursor:
# 查询数据
query = "SELECT * FROM users"
cursor.execute(query)
results = cursor.fetchall()
for row in results:
print(f"ID: {row['id']}, Username: {row['username']}, Password: {row['password']}, Email: {row['email']}")
except pymysql.MySQLError as e:
print(f"Error: {e}")
finally:
connection.close()
八、更新数据
以下是一个更新数据库表中数据的示例代码:
try:
with connection.cursor() as cursor:
# 更新数据
update_query = "UPDATE users SET password = %s WHERE username = %s"
new_password = ('newpassword123', 'testuser')
cursor.execute(update_query, new_password)
connection.commit()
except pymysql.MySQLError as e:
print(f"Error: {e}")
finally:
connection.close()
九、删除数据
以下是一个删除数据库表中数据的示例代码:
try:
with connection.cursor() as cursor:
# 删除数据
delete_query = "DELETE FROM users WHERE username = %s"
username_to_delete = ('testuser',)
cursor.execute(delete_query, username_to_delete)
connection.commit()
except pymysql.MySQLError as e:
print(f"Error: {e}")
finally:
connection.close()
十、事务管理
以下是一个使用事务管理来确保数据一致性的示例代码:
try:
with connection.cursor() as cursor:
# 开启事务
connection.begin()
# 插入数据
insert_query = "INSERT INTO users (username, password, email) VALUES (%s, %s, %s)"
user_data = ('newuser', 'password123', 'newuser@example.com')
cursor.execute(insert_query, user_data)
# 更新数据
update_query = "UPDATE users SET password = %s WHERE username = %s"
new_password = ('newpassword123', 'newuser')
cursor.execute(update_query, new_password)
# 提交事务
connection.commit()
except pymysql.MySQLError as e:
# 如果出现不正确,则回滚事务
connection.rollback()
print(f"Error: {e}")
finally:
connection.close()
十一、异常处理
在操作数据库时,或许会遇到各种异常,以下是一个处理异常的示例代码:
try:
with connection.cursor() as cursor:
# 执行数据库操作
query = "SELECT * FROM non_existent_table"
cursor.execute(query)
results = cursor.fetchall()
for row in results:
print(row)
except pymysql.MySQLError as e:
print(f"Database error: {e}")
except Exception as e:
print(f"Exception: {e}")
finally:
connection.close()
十二、总结
本文详细介绍了怎样使用Python操作MySQL数据库,包括连接数据库、创建表、插入、查询、更新、删除数据以及事务管理和异常处理。通过这些示例代码,您可以飞速上手Python操作MySQL数据库,并在实际项目中应用。