一、基础概念介绍
MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。在Python中,连接MySQL数据库可以使用多种方式,其中使用mysql-connector-python是一种常用的方式。
mysql-connector-python是MySQL官方提供的Python驱动程序,可以通过Python对MySQL进行统一管理和操作,包括创建、连接、查询、修改和删除。
二、安装mysql-connector-python模块
在Python中连接MySQL需要安装mysql-connector-python模块,可以通过pip命令进行安装:
pip install mysql-connector-python
三、连接MySQL数据库
使用mysql-connector-python连接MySQL数据库可以通过connect函数实现,该函数需要传递4个参数:
- host: MySQL服务器地址
- user: 用户名
- password: 密码
- database: 数据库名
下面是连接MySQL数据库的完整代码:
import mysql.connector # 建立连接 conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test') # 关闭连接 conn.close()
四、查询数据
在MySQL中查询数据可以使用SELECT语句,其中可以使用WHERE子句指定查询条件。SELECT语句可以通过execute函数执行,execute函数需要传递查询语句作为参数。
查询语句的结果可以通过fetchall函数获取,该函数返回一个二维元组,其中每个一维元组表示一行记录。
下面是查询数据的完整代码:
import mysql.connector # 建立连接 conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test') # 执行查询 cursor = conn.cursor() cursor.execute('SELECT * FROM user WHERE age > 20') result = cursor.fetchall() # 输出结果 for row in result: print(row) # 关闭连接 conn.close()
五、插入数据
在MySQL中插入数据可以使用INSERT语句,其中可以使用VALUES子句指定插入的数据。INSERT语句可以通过execute函数执行,execute函数需要传递插入语句作为参数。
下面是插入数据的完整代码:
import mysql.connector # 建立连接 conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test') # 插入数据 cursor = conn.cursor() sql = "INSERT INTO user(name, age) VALUES (%s, %s)" val = ("Tom", 25) cursor.execute(sql, val) conn.commit() # 输出插入的数据 print(cursor.rowcount, "record inserted.") # 关闭连接 conn.close()
六、更新数据
在MySQL中更新数据可以使用UPDATE语句,其中可以使用SET子句指定更新的数据,可以使用WHERE子句指定更新条件。UPDATE语句可以通过execute函数执行,execute函数需要传递更新语句作为参数。
下面是更新数据的完整代码:
import mysql.connector # 建立连接 conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test') # 更新数据 cursor = conn.cursor() sql = "UPDATE user SET age = %s WHERE name = %s" val = (26, "Tom") cursor.execute(sql, val) conn.commit() # 输出更新后的数据 print(cursor.rowcount, "record(s) affected") # 关闭连接 conn.close()
七、删除数据
在MySQL中删除数据可以使用DELETE语句,可以使用WHERE子句指定删除条件。DELETE语句可以通过execute函数执行,execute函数需要传递删除语句作为参数。
下面是删除数据的完整代码:
import mysql.connector # 建立连接 conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test') # 删除数据 cursor = conn.cursor() sql = "DELETE FROM user WHERE name = %s" val = ("Tom", ) cursor.execute(sql, val) conn.commit() # 输出删除的数据 print(cursor.rowcount, "record(s) deleted") # 关闭连接 conn.close()