Python连接MySQL 实现数据的读取与写入操作
更新时间:2023-07-10背景
MySQL是一种常用的开源关系型数据库,而Python是一种面向对象、解释型的高级编程语言。在现代软件系统中,经常需要使用 Python 来连接 MySQL 数据库进行数据的读取和写入。
连接MySQL
在Python中,使用Python MySQL Connector进行连接。可以通过下面的代码示例进行连接:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" ) print(mydb)
这段代码中,我们使用mysql.connector模块提供的connect()函数连接到MySQL服务。其中,host参数应为MySQL数据库所在的服务器地址;user参数是您的MySQL用户名;password参数是您的MySQL用户密码;而database参数是MySQL中您想要连接的数据库名称。
实现数据的读取
在Python中,我们可以使用 MySQL Connector 提供的API来执行SQL查询,并读取MySQL数据库中的数据。下面是一段代码示例,用于查询数据库中名为"客户"的表并打印结果:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" ) mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x)
在这个示例中,我们首先使用 mydb.cursor() 函数创建一个新的游标对象。
接着,我们使用该游标的 execute() 方法执行查询。在这里,我们使用简单的 SELECT 语句以获取 customers 表中的所有行。
然后,我们使用 mycursor.fetchall() 函数获取结果集。最后,我们使用一个 for 循环遍历每行的数据,并使用 print() 函数将其打印。
实现数据的写入
Python MySQL Connector 还提供了一些API,可以让我们插入和更新MySQL数据库中的数据。下面是一个示例代码,用于向"客户"表中插入一些新客户的信息:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" ) mycursor = mydb.cursor() sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = ("John", "Highway 21") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.")
在这个示例中,我们首先将要插入的数据的值保存在一个变量val中。接着,我们使用一个带有占位符(% s)的 SQL 查询来定义我们想要插入的数据。然后,我们使用mycursor.execute() 方法执行 SQL 查询,并将变量 val 作为参数传递。在这个查询中,MySQL Connector 会自动引用变量中的值。
最后,通过调用 mydb.commit() 方法实现数据的提交。如果您忘记调用 commit() 方法,数据将不会被写入数据库。完成提交后,您可以使用 print() 函数检查行数,并打印提示消息