如何通過(guò)pycharm實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢(xún)等操作(非多步操作)
pycharm對(duì)數(shù)據(jù)庫(kù)的查詢(xún)等操作(非多步操作)
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 = '數(shù)據(jù)庫(kù)語(yǔ)句 ' # 查詢(xún)到的數(shù)據(jù)條數(shù) res = cur.execute(sql) print(res) # 4、獲取查詢(xún)到的數(shù)據(jù) # 方法一:獲取一條查詢(xún)數(shù)據(jù) data_all = cur.fetchall() print(data_all)
Pycharm操作數(shù)據(jù)庫(kù)步驟
最近總是有朋友問(wèn)我關(guān)于數(shù)據(jù)庫(kù)的一些問(wèn)題,問(wèn)題雖小,但是解決起來(lái)很麻煩,抽時(shí)間整理一下,包含了多數(shù)問(wèn)題,以“學(xué)生成績(jī)數(shù)據(jù)庫(kù)”實(shí)例的方式展示。在這里,假設(shè)你已經(jīng)準(zhǔn)備好了服務(wù)端,客戶(hù)端
服務(wù)端配置
以Ubuntu 20.04 為例,首先你需要配置服務(wù)器,mysql安裝這里省略:
1.開(kāi)啟MySQL遠(yuǎn)程連接
更改配置文件,重啟服務(wù)! 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.進(jìn)入mysql修改用戶(hù)表host值 use mysql; update user set host='%' where user='root'; 6.刷新權(quán)限 flush privileges; (其實(shí)新版本,無(wú)需刷新,但是刷一下總歸是好的,能解決不必要的麻煩)
2.添加授權(quán)用戶(hù)
1. 用root用戶(hù)登錄mysql mysql -u root -p 2. 添加用戶(hù) % 表示自動(dòng)選擇可用IP CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 3. 權(quán)限管理 # 增加權(quán)限 grant 權(quán)限列表 on 庫(kù).表 to "用戶(hù)名"@"%" with grant option; //注意:新版本無(wú)需字段:identified by“密碼” //如果表示庫(kù)下全部表:庫(kù).* //如果表示所有庫(kù)下全部表:*.* //如果表示多個(gè)庫(kù)和表:a.b,c,d //with grant option這一句表示:可以給下級(jí)分配已有權(quán)限 # 刪除權(quán)限 revoke insert,update,select on 庫(kù).表 from 'user'@'%'; 4. 刷新權(quán)限 flush privileges; 5. 刪除用戶(hù) drop user "用戶(hù)名"@"%" #權(quán)限列表 all privileges 、select 、insert ,update,delete,alter等。 庫(kù).表 : *.* 代表所有庫(kù)的所有表
實(shí)例:
1. 創(chuàng)建用戶(hù) mysql>create user 'yym'@'%' identified by '123'; 2. 添加授權(quán)用戶(hù)yym,密碼123,對(duì)所有庫(kù)的所有表有所有權(quán)限 mysql>grant all privileges on *.* to 'yym'@'%' with grant option; mysql>flush privileges; 3. 添加用戶(hù)duty,密碼123,對(duì)text庫(kù)中所有表有查看,插入權(quán)限 mysql>grant select,insert on text.* to 'duty'@'%' with grant option; mysql>flush privileges; 4. 刪除yym用戶(hù)的刪除權(quán)限 mysql>revoke delete on *.* from "yym"@"%"; 5. 刪除用戶(hù)duty drop user "duty"@"%";
客戶(hù)端配置
1.首先熟悉一下pymysql使用流程
- 建立數(shù)據(jù)庫(kù)連接(db = pymysql.connect(…))
- 創(chuàng)建游標(biāo)對(duì)象(cur = db.cursor())
- 游標(biāo)方法: cur.execute(“insert …”)
- 提交到數(shù)據(jù)庫(kù)或者獲取數(shù)據(jù) : db.commit()/cur.fetchall()
- 關(guān)閉游標(biāo)對(duì)象 :cur.close()
- 斷開(kāi)數(shù)據(jù)庫(kù)連接 :db.close()
2.Pycharm架構(gòu)
import pymysql database = { ? ? "host": "180.76.***.***", ? ? "port": 3306, ? ? "user": "yym(上文創(chuàng)建的用戶(hù))", ? ? "password": "123456(這里的密碼,不是服務(wù)器密碼,而是你數(shù)據(jù)庫(kù)密碼)", ? ? "database": "text(指定的數(shù)據(jù)庫(kù))", ? ? "charset": "utf8" } db = pymysql.connect(**database) //雙星合參,不認(rèn)識(shí)的百度星號(hào)傳參 cur = db.cursor() try: ? ? name_stu=input("輸入學(xué)生姓名") ? ? 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()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?NumPy教程之?dāng)?shù)據(jù)類(lèi)型對(duì)象詳解
每個(gè)?ndarray?都有一個(gè)關(guān)聯(lián)的數(shù)據(jù)類(lèi)型?(dtype)?對(duì)象。這個(gè)數(shù)據(jù)類(lèi)型對(duì)象(dtype)告訴我們數(shù)組的布局。本文將通過(guò)示例詳細(xì)講講NumPy的數(shù)據(jù)類(lèi)型對(duì)象,需要的可以參考一下2022-08-08Python 標(biāo)準(zhǔn)庫(kù)zipfile將文件夾加入壓縮包的操作方法
Python zipfile 庫(kù)可用于壓縮/解壓 zip 文件. 本文介紹一下如何創(chuàng)建壓縮包,對(duì)Python zipfile壓縮包相關(guān)知識(shí)感興趣的朋友一起看看吧2021-09-09PyCharm提示No Python Interpreter的正確解決辦法
剛學(xué)Python時(shí),拿到一個(gè)Python項(xiàng)目,想用pycharm打開(kāi)運(yùn)行卻報(bào)錯(cuò)了,這篇文章主要給大家介紹了關(guān)于PyCharm提示No Python Interpreter的正確解決辦法,需要的朋友可以參考下2023-10-10matplotlib事件處理基礎(chǔ)(事件綁定、事件屬性)
這篇文章主要介紹了matplotlib事件處理基礎(chǔ)(事件綁定、事件屬性),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02使用python解析MDX詞典數(shù)據(jù)并保存為Excel文件
MDX(Mobile Dictionary eXchange)是一種常見(jiàn)的詞典文件格式,通常用于在移動(dòng)設(shè)備和電腦之間共享辭典數(shù)據(jù),本文深入探討了從MDX詞典數(shù)據(jù)提取、處理到最終保存為Excel文件的全過(guò)程,需要的朋友可以參考下2023-12-12django下創(chuàng)建多個(gè)app并設(shè)置urls方法
在本篇文章里小編給大家分享的是一篇關(guān)于django下創(chuàng)建多個(gè)app并設(shè)置urls方法,需要的朋友們可以參考學(xué)習(xí)下。2020-08-08Python通過(guò)命令提示符安裝matplotlib
這篇文章主要給大家介紹了關(guān)于Python通過(guò)命令提示符安裝matplotlib的相關(guān)資料,文中還介紹了離線安裝這一種方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-11-11