您的位置:

Python中使用mysql.connector连接与操作MySQL数据库

MySQL是最常用的关系型数据库之一,而Python作为一种高级编程语言,已经成为了很多开发者的首选。Python中使用mysql.connector模块可以非常方便地连接和操作MySQL数据库,我们将在本文中详细介绍该模块的使用方法。

一、连接MySQL数据库

在使用mysql.connector模块之前,需要先安装该模块(可以使用pip进行安装),安装完成后我们就可以进行MySQL连接了。

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

print(mydb)

以上代码中,我们使用connect()函数连接MySQL数据库,参数中需要指定数据库的连接信息。其中host参数为MySQL主机地址,user参数为用户名,password参数为密码,database参数为数据库名称。

二、创建表

连接MySQL数据库成功后,我们可以通过创建表的方式来操作数据。下面是一个简单的创建students表的示例:

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

# 创建表
mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER(10))")

以上代码中,我们使用execute()函数执行SQL语句,创建一个名为students的表,该表包含两个列:name和age。

三、插入数据

创建表之后,我们就可以开始插入数据。下面是一个将学生信息插入students表中的示例:

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

# 插入数据
mycursor = mydb.cursor()

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("Tom", 20)
mycursor.execute(sql, val)

mydb.commit()

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

以上代码中,我们使用execute()函数执行SQL语句,并使用占位符%s和元组来插入数据。使用commit()函数提交数据,并使用rowcount属性来获取插入的记录数。

四、查询数据

插入数据之后,我们可以通过查询语句来获取数据库中的数据。下面是一个简单的查询students表中所有记录的示例:

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

# 查询数据
mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM students")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

以上代码中,我们使用execute()函数执行SQL语句,并使用fetchall()函数获取所有数据,并使用for循环遍历结果集并打印出每条记录的值。

五、更新数据

如果需要修改数据,可以使用UPDATE语句。下面是一个将Tom的年龄修改为22岁的示例:

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

# 更新数据
mycursor = mydb.cursor()

sql = "UPDATE students SET age = %s WHERE name = %s"
val = (22, "Tom")
mycursor.execute(sql, val)

mydb.commit()

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

以上代码中,我们使用execute()函数执行UPDATE语句,并使用占位符%s和元组来指定更新数据的条件和更新后的值。

六、删除数据

如果需要删除数据,可以使用DELETE语句。下面是一个删除名为Tom的记录的示例:

import mysql.connector

# 连接MySQL数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

# 删除数据
mycursor = mydb.cursor()

sql = "DELETE FROM students WHERE name = %s"
val = ("Tom", )
mycursor.execute(sql, val)

mydb.commit()

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

以上代码中,我们使用execute()函数执行DELETE语句,并使用占位符%s和元组来指定删除数据的条件。

结语

本文主要介绍了Python中使用mysql.connector连接与操作MySQL数据库的方法,包括连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据。希望本文对大家在使用MySQL和Python进行开发时有所帮助。