PyCharm连接MySQL数据库进行查询与操作的完整指南

陆景行
陆景行
发布时间:2026-10-15 | 4人浏览过
原创

本文详细介绍如何在PyCharm中通过pymysql库连接MySQL数据库。内容涵盖Ubuntu服务端开启远程连接、配置用户权限,以及客户端使用pymysql建立连接、执行SQL语句、提交事务及关闭连接的完整流程,并提供基于学生成绩数据库的Python代码示例。

在PyCharm中实现对数据库的查询及其他操作

import pymysql
import pandas as pd

connect = pymysql.connect(host="IP",port=3306,user="user",password="password",database="database",charset="utf8")
cur = connect.cursor()
sql = '数据库语句 '
# 查询到的数据条数
res = cur.execute(sql)
print(res)
# 4、获取查询到的数据
# 方法一:获取一条查询数据
data_all = cur.fetchall()
print(data_all)

使用PyCharm操作数据库的具体步骤

近期常收到关于数据库操作的咨询,虽然问题看似基础,但解决过程较为繁琐。为此整理了一份包含常见问题的指南,以“学生成绩数据库”为例进行演示。本文假设读者已具备服务端与客户端的基本环境配置能力。

服务端环境配置

以Ubuntu 20.04系统为例,首先需要完成服务器端的配置工作。MySQL的安装过程在此处省略,重点在于后续的远程访问设置。

第一步是开启MySQL的远程连接功能,允许外部IP访问数据库服务。

更改配置文件,重启服务!
1.cd /etc/mysql/mysql.conf.d
2.sudo vi mysqld.cnf  找到43行左右,加 # 注释
   # bind-address = 127.0.0.1
   (或者可以将,127.0.0.1更改为:0.0.0.0)

3.保存退出
4.sudo service mysql restart
5.进入mysql修改用户表host值
  use mysql;
  update user set host='%' where user='root';
6.刷新权限
  flush privileges;
 (其实新版本,无需刷新,但是刷一下总归是好的,能解决不必要的麻烦)

第二步是添加并授权特定的数据库用户,确保该用户拥有访问指定数据库的权限。

1. 用root用户登录mysql
   mysql -u root -p
2. 添加用户 % 表示自动选择可用IP
   CREATE USER 'username'@'host' IDENTIFIED BY 'password';
3. 权限管理

   # 增加权限
   grant 权限列表 on 库.表 to "用户名"@"%"  with grant option; 
   //注意:新版本无需字段:identified by“密码”
   //如果表示库下全部表:库.*                  
   //如果表示所有库下全部表:*.*
   //如果表示多个库和表:a.b,c,d
   //with grant option这一句表示:可以给下级分配已有权限   

   # 删除权限
   revoke insert,update,select on 库.表 from 'user'@'%';
   4. 刷新权限
   flush privileges;
5. 删除用户
   drop user "用户名"@"%"

 
#权限列表


all privileges 、select 、insert ,update,delete,alter等。
库.表 : *.* 代表所有库的所有表

以下是具体的配置实例,展示了如何创建用户并赋予相应权限。

1. 创建用户
  mysql>create user  'yym'@'%'  identified by '123';
2. 添加授权用户yym,密码123,对所有库的所有表有所有权限
  mysql>grant all privileges on *.* to 'yym'@'%'  with grant option;
  mysql>flush privileges;
3. 添加用户duty,密码123,对text库中所有表有查看,插入权限
  mysql>grant select,insert on text.* to 'duty'@'%'  with grant option;
  mysql>flush privileges;
4. 删除yym用户的删除权限
  mysql>revoke delete on *.* from "yym"@"%";
5. 删除用户duty
  drop user "duty"@"%";

客户端环境配置

在客户端进行开发前,首先需熟悉pymysql库的基本使用流程,这是实现数据库交互的基础。

  • 第一步,建立数据库连接,通过pymysql.connect()方法传入主机、端口、用户名、密码及数据库名等参数。
  • 第二步,创建游标对象,利用db.cursor()获取用于执行SQL语句的游标。
  • 第三步,使用游标方法执行SQL语句,例如通过cur.execute()执行插入或查询操作。
  • 第四步,根据操作类型提交事务或获取数据。对于修改操作需调用db.commit(),查询操作则通过cur.fetchall()获取结果。
  • 第五步,操作完成后关闭游标对象,释放相关资源。
  • 第六步,最后断开数据库连接,调用db.close()确保连接安全关闭。

此外,还需了解PyCharm的整体架构及其与数据库插件的交互方式,以确保开发环境的稳定性。

import pymysql

database = {
    "host": "180.76.***.***",
    "port": 3306,
    "user": "yym(上文创建的用户)",
    "password": "123456(这里的密码,不是服务器密码,而是你数据库密码)",
    "database": "text(指定的数据库)",
    "charset": "utf8"
}
db = pymysql.connect(**database) //双星合参,不认识的百度星号传参
cur = db.cursor()
try:
    name_stu=input("输入学生姓名")
    sql = "update cls set score=%s where name=%s;"
    cur.execute(sql,[1000,name_stu])
    db.commit()
except Exception as e:
    print(e)
    db.rollback()
cur.close()
db.close()

以上内容为个人经验分享,旨在为读者提供参考,感谢大家的支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表