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