Python 在Pycharm中连接 MySQL数据库

1. 登录 MySQL 数据库

使用 Python 中的 pymysql 模块可以方便地与 MySQL 数据库进行交互。在 PyCharm 中创建一个新的 Python 文件,首先需要安装 pymysql 模块。

可以通过以下命令来安装 pymysql:

pip install pymysql

安装完毕后,我们可以在 Python 文件中引入 pymysql:

import pymysql

接下来,我们需要登录到 MySQL 数据库。首先,需要获取数据库的连接对象,可以使用 pymysql.connect() 函数,传入相应的连接参数,如下所示:

# 建立数据库连接

conn = pymysql.connect(

host='localhost',

user='root',

password='password',

database='database_name',

charset='utf8'

)

注意替换 host、user、password 和 database_name 为实际值。如果服务器在本地,可以使用 localhost。

连接成功后,我们可以得到一个连接对象 conn,通过该对象可以进行数据库的操作。

2. 执行 SQL 查询

一般来说,我们在 Python 中操作数据库,主要是执行 SQL 查询和更新操作。首先,我们演示一下如何执行 SQL 查询。

使用连接对象 conn 的 cursor() 方法可以获取一个游标对象,通过该对象可以执行各种 SQL 语句,如下所示:

# 获取游标

cursor = conn.cursor()

获取到游标后,我们可以使用 execute() 方法来执行 SQL 查询。

# 执行查询语句

sql = "SELECT * FROM table_name"

cursor.execute(sql)

SELECT * FROM table_name 是一个例子,实际上,我们可以根据实际情况编写查询语句。

执行完查询后,我们可以使用游标对象的 fetchall() 方法获取查询的结果,如下所示:

# 获取查询结果

results = cursor.fetchall()

fetchall() 方法将查询结果作为元组的形式返回,每一行数据作为一个元组。

接下来,我们可以对查询结果进行遍历,并输出结果:

# 输出查询结果

for row in results:

print(row)

这样,我们就完成了对 MySQL 数据库的查询操作。

3. 执行 SQL 更新

在实际的应用中,除了查询外,我们还需要执行更新操作,如插入、修改和删除等。

下面以插入为例,演示如何执行 SQL 更新。

首先,我们需要构造一条插入语句,如下所示:

# 构造插入语句

sql = "INSERT INTO table_name (col1, col2, col3) VALUES (%s, %s, %s)"

params = ('value1', 'value2', 'value3')

在构造插入语句时,可以使用占位符 %s,然后通过 execute() 方法的第二个参数传入参数的值,参数的值可以是一个变量,也可以是一个元组或列表。

接着,我们可以执行插入操作:

# 执行插入语句

cursor.execute(sql, params)

# 提交事务

conn.commit()

执行完插入操作后,需要调用连接对象的 commit() 方法提交事务,以保存更改。如果不主动提交事务,插入操作将不会生效。

最后,我们可以输出插入的结果:

# 输出插入结果

print("插入成功")

这样,我们就完成了对 MySQL 数据库的插入操作。

4. 关闭数据库连接

在我们完成了数据库操作后,需要关闭数据库连接,释放资源。

使用连接对象的 close() 方法可以关闭连接:

# 关闭数据库连接

conn.close()

在关闭连接之前,要确保已经提交了事务。

5. 总结

以上就是在 PyCharm 中使用 Python 连接 MySQL 数据库的详细步骤。

我们首先登录到 MySQL 数据库,获取连接对象,然后可以执行 SQL 查询和更新操作。执行查询需要获取游标对象,执行更新需要构造对应的 SQL 语句,然后调用游标对象的 execute() 方法执行。更新操作后需要提交事务,最后关闭数据库连接。

通过这篇文章的学习,相信您已经掌握了在 PyCharm 中使用 Python 连接 MySQL 数据库的基本方法和操作。希望对您有所帮助!

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签