您的位置:

Python操作MySQL数据库教程

本文旨在介绍如何使用Python对MySQL数据库进行操作。MySQL是一种轻量级关系型数据库管理系统,广泛应用于数据存储、数据处理等领域。Python作为一种高级编程语言,可以使用多种库和模块对MySQL数据库进行操作,并且不需要深入了解数据库管理系统的细节。下面我们将从多个方面介绍如何使用Python操作MySQL数据库。

一、连接MySQL数据库

在Python中连接MySQL数据库需要使用MySQL Connector库,需要先安装该库,可以使用pip命令进行安装:

pip install mysql-connector-python

安装完成后就可以在代码中导入该库并进行连接。使用connector库的connect()方法可以连接指定主机、端口、用户名及密码的MySQL数据库,例如:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="123456"
)

print(mydb)

代码中的host、user、password分别代表需要连接的主机、用户名及密码,当然也可以根据需要添加端口和数据库名等参数。打印输出的mydb变量就是连接MYSQL数据库后的句柄,可以通过该句柄进行后续操作。

二、创建数据库、表及插入数据

连接MySQL数据库后,下一步是进行数据库、表的创建及数据插入等操作。代码如下:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="123456"
)

mycursor = mydb.cursor()

# 创建数据库
mycursor.execute("CREATE DATABASE mydatabase")

# 创建表
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

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

mydb.commit() # 记得提交事务

print(mycursor.rowcount, "record inserted.")

这段代码首先使用cursor()方法创建一个游标对象,该对象可以帮助我们对数据库进行操作。然后利用cursor的execute()方法,执行SQL语句进行数据库、表的创建及数据插入操作。这里需要注意的是,当执行数据插入操作时,在SQL语句中使用占位符%s,然后通过execute()方法的第二个参数,以元组的形式传入数据。

三、查询数据

查询数据是MySQL数据库操作中最基本、最常用的操作之一。MySQL Connector库提供了fetchall()、fetchone()、fetchmany()等方法用于获取查询结果中的数据。下面是一个查询例子:

import mysql.connector

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

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

代码中的execute()方法用于执行查询操作,然后通过fetchall()方法获取查询结果,保存在myresult变量中。最后通过for循环对查询结果进行遍历输出。

四、更新数据

更新数据需要使用update语句,可以使用cursor对象的execute()方法实现。这里给出一个更新数据的例子代码:

import mysql.connector

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

mycursor = mydb.cursor()

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

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")

代码中的update语句用于更新表中某个字段的值,然后使用execute()方法进行执行。最后,我们可以通过rowcount属性获取到被更新的记录数。

五、删除数据

删除数据需要使用delete语句,可以使用cursor对象的execute()方法实现。下面是一个删除数据的例子代码:

import mysql.connector

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

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Highway 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

代码中的delete语句用于删除符合条件的记录,然后使用execute()方法进行执行。最后,我们可以通过rowcount属性获取到被删除的记录数。

总结:

本文主要介绍了使用Python对MySQL数据库进行操作的方法。涵盖了连接数据库、创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等方面。掌握了这些基本操作,就可以在Python编程中灵活运用MySQL数据库进行数据处理、数据存储等操作。