如何通过pycharm实现对数据库的查询等操作(非多步操作)

作者:ruaibeite 时间:2024-01-25 03:31:37 

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安装这里省略:

1.开启MySQL远程连接

更改配置文件,重启服务!
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;
(其实新版本,无需刷新,但是刷一下总归是好的,能解决不必要的麻烦)

2.添加授权用户

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"@"%";

客户端配置

1.首先熟悉一下pymysql使用流程

  • 建立数据库连接(db = pymysql.connect(…))

  • 创建游标对象(cur = db.cursor())

  • 游标方法: cur.execute(“insert …”)

  • 提交到数据库或者获取数据 : db.commit()/cur.fetchall()

  • 关闭游标对象 :cur.close()

  • 断开数据库连接 :db.close()

2.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()

来源:https://blog.csdn.net/qq_43187176/article/details/117256527

标签:pycharm,数据库,查询
0
投稿

猜你喜欢

  • MySQL数据库连接异常汇总(值得收藏)

    2024-01-22 16:23:55
  • Python urllib模块urlopen()与urlretrieve()详解

    2022-01-17 02:32:02
  • 用python批量移动文件

    2022-12-21 10:48:43
  • Firefox 的 Jetpack 扩展案例分析:Gmail 邮件提醒

    2009-10-15 12:41:00
  • 对“关于购物车的想法”的一些回复

    2009-03-10 18:15:00
  • PHP实现的浏览器检查类

    2024-05-13 09:26:24
  • Windows64x下VScode下载过程

    2021-03-08 20:10:47
  • js 浏览器版本及版本号判断函数2009年

    2024-04-28 09:40:54
  • 如何列出SQL数据库中的存储过程?

    2010-01-12 19:58:00
  • Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

    2024-04-16 08:59:46
  • 简单的命令查看安装的python版本号

    2022-03-12 17:23:06
  • python中json格式数据输出的简单实现方法

    2021-03-04 22:19:19
  • 关于 Web 字体:现状与未来[译]

    2009-11-24 13:50:00
  • js substr、substring和slice使用说明小记

    2023-07-15 16:26:03
  • python+selenium操作下拉框

    2021-11-16 13:43:30
  • OpenCV-Python实现油画效果的实例

    2022-03-26 09:16:37
  • JavaScript 数组方法filter与reduce

    2024-04-29 13:14:38
  • 详解vuejs之v-for列表渲染

    2023-07-02 16:56:39
  • python 最简单的实现适配器设计模式的示例

    2021-10-14 12:07:59
  • pandas应用实例之pivot函数详解

    2021-02-16 18:33:18
  • asp之家 网络编程 m.aspxhome.com