太全了!用Python操作MySQL的使用教程集锦!("超详细!Python操作MySQL完整教程大全!")

原创
ithorizon 6个月前 (10-20) 阅读数 22 #后端开发

超详细!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数据库,并在实际项目中应用。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门