📜  Python MySQL教程(1)

📅  最后修改于: 2023-12-03 15:04:06.476000             🧑  作者: Mango

Python MySQL教程

Python MySQL教程旨在介绍如何使用Python进行MySQL数据库开发。本教程涵盖以下主题:

  • 安装MySQL及Python MySQL驱动程序
  • 连接MySQL数据库
  • 创建表格和插入数据
  • 查询数据
  • 更新和删除数据
  • 使用事务
  • 错误处理
安装MySQL及Python MySQL驱动程序

在开始使用Python访问MySQL数据库之前,需要安装MySQL服务器并下载Python MySQL的驱动程序。可以从以下网站下载MySQL服务器和Python MySQL驱动程序。

  • MySQL服务器:https://dev.mysql.com/downloads/mysql/
  • Python MySQL驱动程序:https://dev.mysql.com/downloads/connector/python/
连接MySQL数据库

在Python中使用MySQL驱动程序连接MySQL数据库,需要以下步骤:

  • 导入MySQL驱动程序
  • 建立连接
  • 创建游标
导入MySQL驱动程序
import mysql.connector
建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
)
创建游标

连接MySQL数据库后,需要创建游标来执行SQL命令。

mycursor = mydb.cursor()
创建表格和插入数据

在Python中创建表格和插入数据,需要以下步骤:

  • 创建表格
  • 插入数据
创建表格

在MySQL中创建表格,可以使用以下SQL语句。

CREATE TABLE customers (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255),
  address VARCHAR(255)
)

在Python中执行上述语句,可以使用以下代码。

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")
插入数据

在MySQL中插入数据,可以使用以下SQL语句。

INSERT INTO customers (name, address) VALUES ('John', 'Highway 21')

在Python中执行上述语句,可以使用以下代码。

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
查询数据

在Python中查询数据,可以使用以下步骤:

  • 编写SQL查询语句
  • 执行查询
  • 获取结果
编写SQL查询语句

在MySQL中查询数据,可以使用以下SQL语句。

SELECT * FROM customers

在Python中执行上述语句,可以使用以下代码。

mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
  print(x)
执行查询

上述代码中的mycursor.execute()方法是执行SQL查询的方法。

获取结果

上述代码中的mycursor.fetchall()方法获取查询结果。

更新和删除数据

在Python中更新和删除数据,可以使用以下步骤:

  • 编写SQL更新或删除语句
  • 执行更新或删除
更新数据

在MySQL中更新数据,可以使用以下SQL语句。

UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'

在Python中执行上述语句,可以使用以下代码。

mycursor.execute("UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'")
mydb.commit()
删除数据

在MySQL中删除数据,可以使用以下SQL语句。

DELETE FROM customers WHERE name = 'John'

在Python中执行上述语句,可以使用以下代码。

mycursor.execute("DELETE FROM customers WHERE name = 'John'")
mydb.commit()
使用事务

在Python中使用事务,可以使用以下步骤:

  • 开始事务
  • 执行SQL语句
  • 提交事务或回滚事务
开始事务

在Python中开始事务,可以使用以下代码。

mydb.start_transaction()
执行SQL语句

在事务期间执行SQL语句。

mycursor.execute("INSERT INTO customers (name, address) VALUES ('Peter', 'Lowstreet 4')")
提交事务或回滚事务

在Python中提交事务或者回滚事务。

mydb.commit()

# 或者

mydb.rollback()
错误处理

在Python中连接MySQL数据库和执行SQL语句时,可能会发生以下错误。

  • 连接MySQL数据库失败
  • 执行SQL语句失败

在Python中处理MySQL数据库错误,可以使用以下步骤:

  • try-except代码块
  • 获取错误信息
try-except代码块

在Python中使用try-except代码块,可以捕获MySQL数据库错误。

try:
  mydb = mysql.connector.connect(
    host="localhost",
    user="yourusername",
    password="yourpassword"
  )
except mysql.connector.Error as err:
  print("Something went wrong: {}".format(err))
获取错误信息

在上述代码的except代码块中,可以获取MySQL数据库错误的信息。

print("Something went wrong: {}".format(err))
结论

Python MySQL教程介绍了如何使用Python进行MySQL数据库开发。本教程涵盖了连接MySQL数据库、创建表格和插入数据、查询、更新和删除数据、使用事务、错误处理等主题。希望本教程能够帮助您顺利开发Python MySQL应用程序。