太全了!用Python操作MySQL的使用教程集锦!("Python操作MySQL超全教程汇总:从入门到精通!")

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

Python操作MySQL超全教程汇总:从入门到精通!

一、Python连接MySQL数据库

Python操作MySQL数据库,首先需要安装MySQL的Python驱动库。常用的库有MySQLdb和pymysql。这里以pymysql为例进行介绍。

1. 安装pymysql库

使用pip命令安装pymysql库:

pip install pymysql

2. 连接MySQL数据库

以下是一个单纯的示例,展示怎样使用pymysql连接MySQL数据库:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

# 关闭数据库连接

connection.close()

二、Python操作MySQL数据库

在连接MySQL数据库后,我们可以进行增删改查等操作。

1. 查询操作

以下是一个查询操作的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# SQL查询语句

sql = "SELECT * FROM students"

cursor.execute(sql)

# 获取所有记录

results = cursor.fetchall()

for row in results:

id = row[0]

name = row[1]

age = row[2]

print(f"ID: {id}, Name: {name}, Age: {age}")

finally:

connection.close()

2. 插入操作

以下是一个插入操作的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# SQL插入语句

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"

cursor.execute(sql, ('张三', 20))

# 提交事务

connection.commit()

finally:

connection.close()

3. 更新操作

以下是一个更新操作的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# SQL更新语句

sql = "UPDATE students SET age = %s WHERE name = %s"

cursor.execute(sql, (25, '张三'))

# 提交事务

connection.commit()

finally:

connection.close()

4. 删除操作

以下是一个删除操作的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# SQL删除语句

sql = "DELETE FROM students WHERE name = %s"

cursor.execute(sql, ('张三',))

# 提交事务

connection.commit()

finally:

connection.close()

三、Python操作MySQL高级特性

除了基本的增删改查操作外,Python还可以实现更多高级特性,如事务处理、批量操作等。

1. 事务处理

以下是一个事务处理的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# 开启事务

connection.begin()

# 执行多个操作

sql1 = "UPDATE students SET age = %s WHERE name = %s"

cursor.execute(sql1, (26, '张三'))

sql2 = "INSERT INTO students (name, age) VALUES (%s, %s)"

cursor.execute(sql2, ('李四', 22))

# 提交事务

connection.commit()

except Exception as e:

# 出现异常时回滚

connection.rollback()

finally:

connection.close()

2. 批量操作

以下是一个批量插入的示例:

import pymysql

# 数据库配置信息

config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': 'password',

'database': 'testdb',

'charset': 'utf8mb4'

}

# 连接数据库

connection = pymysql.connect(**config)

try:

with connection.cursor() as cursor:

# SQL批量插入语句

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"

# 批量插入数据

data = [

('王五', 23),

('赵六', 24),

('孙七', 25)

]

cursor.executemany(sql, data)

# 提交事务

connection.commit()

finally:

connection.close()

四、Python操作MySQL最佳实践

在使用Python操作MySQL时,以下是一些最佳实践:

  • 使用with语句管理数据库连接和游标,确保资源正确释放。
  • 使用try-except结构处理异常,确保事务的正确提交和回滚。
  • 使用参数化查询,防止SQL注入攻击。
  • 在适当的时候使用批量操作,节约数据库操作效能。
  • 避免在Python代码中处理大量数据,尽量使用SQL语句进行数据处理。

五、总结

本文介绍了Python操作MySQL数据库的基本方法,包括连接数据库、增删改查操作、事务处理和批量操作等。通过这些方法,我们可以方便地在Python程序中操作MySQL数据库,实现数据的存储和查询。在实际应用中,我们还需要遵循一些最佳实践,确保代码的稳固性和效能。


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

文章标签: 后端开发


热门