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进行开发时有所帮助。