網站首頁 編程語言 正文
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
相關推薦
- 2022-04-14 解決:Failed to run File Watcher ‘goimports‘.The watc
- 2022-11-17 React通過classnames庫添加類的方法_React
- 2021-12-08 DBeaver下載安裝詳細教程_數據庫其它
- 2022-10-07 詳解Python?OpenCV圖像分割算法的實現_python
- 2023-02-02 C語言求質數的幾種簡單易懂方式_C 語言
- 2022-04-14 android studio不顯示當前手機app進程
- 2022-04-16 Python實現杰卡德距離以及環比算法講解_python
- 2022-07-02 在React中使用axios發送請求
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支