您的位置:

使用Python进行MySQL数据库操作

MySQL是目前最流行的关系型数据库之一,而Python作为一种功能强大、易于学习的编程语言,与MySQL结合使用可以方便地进行数据处理和管理。本文将从多个方面介绍Python如何操作MySQL数据库以及一些常见的用例。

一、连接到MySQL数据库

在使用Python操作MySQL之前,首先需要建立与数据库之间的连接。可以使用Python的"mysql-connector-python"驱动程序来实现。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword"
)

print(mydb)

这将输出类似下面的信息:

<mysql.connector.connection_cext.CMySQLConnection object at 0x000002279C7EA208>

如果没有报错,那么说明你已经成功连接到了MySQL数据库。

二、创建数据库和表

连接到MySQL后,可以通过执行SQL语句来创建数据库和表。下面的示例演示如何创建名为"mydatabase"的数据库和一个名为"customers"的表。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE DATABASE mydatabase")

mycursor.execute("USE mydatabase")

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

这样就建立了一个名为"mydatabase"的新数据库,并向其中添加了一个名为"customers"的表。

三、插入、查询和更新数据

在已有数据库和表的情况下,可以通过Python将数据插入到表中,也可以通过SQL语句进行查询和更新。

1. 插入数据

下面的代码演示如何将一条数据插入到"customers"表中:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "记录插入成功。")

这将在"customers"表中插入一条数据,包括名为"John",地址为"Highway 21"。

2. 查询数据

下面的代码演示如何从"customers"表中查询所有数据:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

这将输出"customers"表中的所有数据。

3. 更新数据

下面的代码演示如何更新"customers"表中名为"John"的记录地址:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

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

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, " 条记录被修改")

这将将"John"的地址从"Highway 21"更新为"Canyon 123"。

四、删除数据

在已有数据库和表的情况下,可以通过Python从表中删除数据。

1. 删除数据

下面的代码演示如何从"customers"表中删除名为"John"的记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, " 条记录删除")

这将从"customers"表中删除名为"John"的记录。

五、总结

Python的mysql-connector模块提供了一种可靠的与MySQL数据库进行交互的方式。通过Python,可以轻松地创建和管理数据库、插入、查询、更新或删除数据。