MySQL连接数据库
介绍
MySQL是一个关系型数据库管理系统,被广泛应用于各种Web应用程序中。在开发Web应用程序时,与MySQL数据库进行连接是一个非常常见的操作。本文将详细介绍如何使用Python语言连接MySQL数据库,并进行基本的CRUD操作。
环境准备
在开始之前,我们需要确保已经安装了MySQL数据库,并且安装了Python的MySQL驱动程序。可以使用pip
命令来安装mysql-connector-python
库。
pip install mysql-connector-python
接下来,我们需要创建一个MySQL数据库和一张表,以便后续操作。可以使用如下SQL语句在MySQL中创建一个名为testdb
的数据库,并在其中创建一张名为users
的表。
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);
连接数据库
首先,我们需要导入mysql.connector
模块,并使用connect()
函数连接到MySQL数据库。
import mysql.connector
# 连接到MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="testdb"
)
print(mydb)
在上面的代码中,我们使用了mysql.connector.connect()
函数来连接到MySQL数据库。host
参数是数据库的主机名,user
是用户名,password
是密码,database
是要连接的数据库名称。
创建数据表
接下来,我们将使用cursor()
方法创建一个游标对象,并使用execute()
方法执行SQL语句来创建一张数据表。
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
上面的代码中,我们使用execute()
方法执行了一个SQL语句来创建了一张名为customers
的数据表,其中包含name
和address
两个字段。
插入数据
接下来,我们将向刚刚创建的customers
表中插入一条记录。
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print("1 条记录已插入,ID:", mycursor.lastrowid)
在上面的代码中,我们首先定义了一个SQL语句,然后使用execute()
方法执行该SQL语句,并将变量val
作为参数传递给SQL语句。最后,我们使用commit()
方法提交事务,并打印出刚刚插入的记录的ID。
查询数据
接下来,我们将查询customers
表中的数据并输出。
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
在上面的代码中,我们使用execute()
方法执行了一个SQL查询语句,并使用fetchall()
方法获取查询结果。然后,我们使用for
循环遍历查询结果并输出每一行数据。
更新数据
接下来,我们将更新customers
表中的一条记录。
sql = "UPDATE customers SET address = %s WHERE name = %s"
val = ("Canyon 123", "John")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, " 条记录已被更新")
在上面的代码中,我们定义了一个SQL更新语句,然后使用execute()
方法执行该SQL语句,并使用commit()
方法提交事务。最后,我们打印出受到影响的记录数。
删除数据
最后,我们将删除customers
表中的一条记录。
sql = "DELETE FROM customers WHERE name = %s"
val = ("John",)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, " 条记录已被删除")
在上面的代码中,我们定义了一个SQL删除语句,然后使用execute()
方法执行该SQL语句,并使用commit()
方法提交事务。最后,我们打印出受到影响的记录数。
总结
以上就是使用Python连接MySQL数据库并进行基本的CRUD操作的详细介绍。通过本文的学习,相信读者已经掌握了如何使用Python连接MySQL数据库,并进行数据的增删改查操作。