对于连接 MySQL 数据库,我们可以采用 Python 提供的三种方式:Python DB-API、MySQLdb、PyMySQL。
下面是详细步骤:
安装 MySQL
首选需要在本地电脑上安装 MySQL 数据库,建议在官网下载挺好 https://dev.mysql.com/downloads/mysql/。
安装 Python MySQL 驱动
Python 有几个访问 MySQL 的库,其中比较流行的有 MySQLdb 和 PyMySQL 。
安装 MySQLdb
MySQLdb 是 Python2 时代的库,不支持 Python3,使用 pip 安装可以这么写:
pip install mysql-python
安装 PyMySQL
PyMySQL 是纯 Python 实现 MySQL 协议的库,可以用在 Python2 和 Python3 之上,使用下面代码安装:
pip install pymysql
连接 MySQL
Python DB-API 规定了连接 MySQL 的一些标准,这里我们选择 PyMySQL 库连接 MySQL。
连接 MySQL 的步骤如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
在以上代码中,我们使用 pymysql
库连接 MySQL 数据库,需要指定 MySQL 的主机名、用户名、密码、端口和要使用的数据库名称。
db = pymysql.connect()
函数用于连接 MySQL 数据库。如果连接成功,db
变量将保存连接对象。
使用 cursor()
方法创建一个游标对象 cursor
,然后使用 execute()
函数执行 SQL 查询,最后使用 fetchone()
函数获取查询结果。
使用完 cursor
后,应该关闭数据库连接。以启用后续的数据库连接。
简单查询
在连接好 MySQL 并获取游标后,可以进行数据库查询操作。
import pymysql
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)
# 查询表中所有的数据
cursor = db.cursor()
sql = "SELECT * FROM table_name"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
username = row[0]
password = row[1]
print(f"username:{username}, password:{password}")
db.close()
首先,我们打开数据库连接,然后创建一个游标对象。接着可以编写 SQL 语句并提交给数据库连接的游标对象,这里的 SQL 语句可以是任意的合法查询。使用 execute()
函数执行 SQL 查询。
对于查询数据,我们可以使用 fetchall()
方法获取查询结果集,然后在使用 for
循环对返回的数据数据进行遍历即可。
以上代码可以查询数据库中表 table_name
中所有的数据。
插入操作
插入操作非常简单,只需要构建合法的插入 SQL 语句,然后提交给游标对象即可。
import pymysql
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)
# 插入数据
cursor = db.cursor()
sql = "INSERT INTO table_name(username, password) VALUES ('test', '123456')"
cursor.execute(sql)
# 提交到数据库执行
db.commit()
db.close()
在插入数据时,我们可以使用 VALUES
关键字指定待插入的数据。由于这里我们插入的是用户名和密码,所以在 SQL 语句中指定了 ('test', '123456')
。
使用 commit()
函数提交之前的操作,会将上述操作在数据库中执行。
至此,我们已经掌握了 Python 连接 MySQL 的正确姿势,并了解了部分进行数据库操作的示例。
希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python连接mysql数据库的正确姿势 - Python技术站