在这一章节中,我们将学习如何使用 Python3 来连接和操作 MySQL 数据库。MySQL 是一个广泛使用的开源关系型数据库管理系统,而 Python 提供了多种库来方便地与 MySQL 数据库进行交互。
安装 MySQL Connector/Python
在开始之前,你需要确保已经安装了 MySQL Connector/Python。这是由 Oracle 开发的官方 Python 驱动程序,可以让你轻松地从 Python 应用程序连接到 MySQL 数据库。
你可以通过 pip 安装这个库:
pip install mysql-connector-python
创建数据库连接
首先,我们需要创建一个数据库连接。这通常涉及到提供数据库服务器的地址、用户名、密码以及数据库名称等信息。
// www.javascriptcn.com code example import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) print(mydb)
上述代码会尝试连接到名为 mydatabase 的数据库,该数据库位于名为 localhost 的主机上,并使用指定的用户名和密码进行身份验证。
创建数据库
如果你还没有创建数据库,可以使用以下代码创建一个新的数据库:
// www.javascriptcn.com code example
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")创建表
一旦你有了数据库,下一步就是创建一个或多个表。表是用来存储数据的基本结构。
// www.javascriptcn.com code example
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")插入数据
创建完表后,你可以向其中插入数据。
// www.javascriptcn.com code example
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() # 必须调用 commit() 方法才能将更改保存到数据库中
print(mycursor.rowcount, "record inserted.")注意:mydb.commit() 方法用于提交当前事务。如果没有调用这个方法,所做的更改将不会被保存到数据库中。
查询数据
查询数据是数据库操作中最常见的任务之一。我们可以使用 SQL 的 SELECT 语句来完成这项工作。
// www.javascriptcn.com code example
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() # fetchall() 获取所有记录
for x in myresult:
print(x)更新数据
更新现有记录可以通过执行带有 WHERE 子句的 UPDATE 语句来完成。
// www.javascriptcn.com code example 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 address = 'Valley 345'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "record(s) affected")
删除数据
删除记录也是通过执行带有 WHERE 子句的 DELETE 语句来实现的。
// www.javascriptcn.com code example import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "record(s) deleted")
关闭数据库连接
最后,当你完成了所有需要的操作后,记得关闭数据库连接。
mydb.close()
以上就是使用 Python3 连接和操作 MySQL 数据库的基本步骤。通过这些基础操作,你可以开始构建自己的数据库应用了。