最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL從視圖到用戶和權(quán)限管理操作

 更新時(shí)間:2025年09月26日 10:32:59   作者:學(xué)無(wú)止盡5  
文章介紹了MySQL視圖的概念、創(chuàng)建方法及使用注意事項(xiàng),強(qiáng)調(diào)其動(dòng)態(tài)生成數(shù)據(jù)、簡(jiǎn)化查詢、增強(qiáng)安全性的特點(diǎn),同時(shí)講解了用戶管理與權(quán)限分配,包括權(quán)限層級(jí)、最小權(quán)限原則及安全實(shí)踐,確保數(shù)據(jù)庫(kù)操作的安全可控,感興趣的朋友跟隨小編一起看看吧

一:視圖的定義

視圖是?個(gè)虛擬的表,它是基于?個(gè)或多個(gè)基本表或其他視圖的查詢結(jié)果集。視圖本?不存儲(chǔ)數(shù)據(jù),?是通過(guò)執(zhí)?查詢來(lái)動(dòng)態(tài)?成數(shù)據(jù)。??可以像操作普通表?樣使?視圖進(jìn)?查詢、更新和管理。視圖本?并不占?物理存儲(chǔ)空間,它僅僅是?個(gè)查詢的邏輯表?,物理上它依賴于基礎(chǔ)表中的數(shù)據(jù)。

那么該怎么創(chuàng)建視圖呢?跟創(chuàng)建表時(shí)差不多

CREATE VIEW view_name [(column_list)] AS select_statement

二:創(chuàng)建好了那么該如何使用我們的視圖以及視圖的一些操作

例如:查詢用戶的所有信息和考試成績(jī)

select
s.id, s.name, s.sno, s.age, s.gender, s.enroll_date,
c.id, c.`name`,
co.id, co.`name`,
sc.id, sc.score
from student s, class c, course co, score sc
where s.class_id = c.id
and sc.student_id = s.id
and sc.course_id = co.id
order by s.id;

創(chuàng)建視圖,在select中使?別名

create view v_student_socre as
select s.id, s.name, s.sno, s.age, s.gender, s.enroll_date, 
c.id as class_id, c.`name` as class_name, 
co.id as course_id, co.`name` as course_name, sc.id as score_id, sc.score 
from student s, class c, course co, score sc
where s.class_id = c.id
and sc.student_id = s.id
and sc.course_id = co.id
order by s.id;

創(chuàng)建視圖,指定結(jié)果集中的列名

create view v_student_socre_v1 
(id, name, sno, age, gender, enroll_date, 
class_id, class_name,
course_id, course_name, 
score_id, score) as
select s.id, s.name, s.sno, s.age, s.gender, s.enroll_date, c.id, c.`name`, 
co.id, co.`name`, sc.id, sc.score from student s, class c, course co, score sc
where s.class_id = c.id
and sc.student_id = s.id
and sc.course_id = co.id;

最后查詢視圖

select * from v_student_socre;

select * from v_student_socre_v1;

但是要注意的是通過(guò)真實(shí)表修改數(shù)據(jù),會(huì)影響視圖

當(dāng)我們修改唐三藏的JAVA成績(jī)?yōu)?9分

我們?cè)俅尾榭匆晥D時(shí),發(fā)現(xiàn)唐三藏這條記錄已被修改

同樣的是通過(guò)視圖修改數(shù)據(jù)也會(huì)影響基表

當(dāng)我們修改唐三藏的計(jì)算機(jī)?絡(luò)成績(jī)?yōu)?9分

update v_student_socre set score = 99 where score_id = 3;

可以發(fā)現(xiàn)更新失敗,因?yàn)閯?chuàng)建視圖時(shí)使?了order by 語(yǔ)句

小編整理了視圖修改會(huì)受到影響的點(diǎn)

  • 創(chuàng)建視圖時(shí)使?聚合函數(shù)的視圖
  • 創(chuàng)建視圖時(shí)使? DISTINCT
  • 創(chuàng)建視圖時(shí)使? GROUP BY 以及 HAVING ?句
  • 創(chuàng)建視圖時(shí)使? UNION 或 UNION ALL
  • 查詢列表中使??查詢
  • 在FROM?句中引?不可更新視圖

你要?jiǎng)h除視圖的話可以使用

drop view view_name;

相信很多人很期待那么視圖有哪些優(yōu)點(diǎn)呢?我將一一列舉
視圖的優(yōu)點(diǎn)

  1. 簡(jiǎn)單性:視圖可以將復(fù)雜的查詢封裝成?個(gè)簡(jiǎn)單的查詢。例如,針對(duì)?個(gè)復(fù)雜的多表連接查詢,可
    以創(chuàng)建?個(gè)視圖,??只需查詢視圖??需了解底層的復(fù)雜邏輯。
  2. 安全性:通過(guò)視圖,可以隱藏表中的敏感數(shù)據(jù)。例如,?個(gè)系統(tǒng)的??表中,可以創(chuàng)建?個(gè)不包含
    密碼列視圖,普通??只能訪問(wèn)這個(gè)視圖,?不能訪問(wèn)原始表。
  3. 邏輯數(shù)據(jù)獨(dú)?性:視圖提供了?種邏輯數(shù)據(jù)獨(dú)?性,即使底層表結(jié)構(gòu)發(fā)?變化,只需修改視圖定
    義,??需修改依賴視圖的應(yīng)?程序。使?到應(yīng)?程序與數(shù)據(jù)庫(kù)的解耦
  4. 重命名列:視圖允許??重命名列名,以增強(qiáng)數(shù)據(jù)可讀性。

三:用戶

數(shù)據(jù)庫(kù)服務(wù)安裝成功后默認(rèn)有?個(gè)root??,可以新建和操縱數(shù)據(jù)庫(kù)服務(wù)中管理的所有數(shù)據(jù)庫(kù)。在真實(shí)的使?過(guò)程中,通常每個(gè)應(yīng)?對(duì)應(yīng)著?個(gè)數(shù)據(jù)庫(kù),我們只希望某個(gè)??只能操縱和管理當(dāng)前應(yīng)?對(duì)應(yīng)的那個(gè)數(shù)據(jù)庫(kù),?不能操縱和管理其他應(yīng)?的數(shù)據(jù)庫(kù),這時(shí)就可以添加?個(gè)??并指定??的權(quán)限

以這張圖片為例

root 可以訪問(wèn)和操縱所有的數(shù)據(jù)庫(kù):DB1, DB2, DB3, DB4
普通??1 只能訪問(wèn)和操縱數(shù)據(jù)庫(kù)DB1
普通??2 只能訪問(wèn)和操縱數(shù)據(jù)庫(kù)DB3
只讀??1 只能訪問(wèn)數(shù)據(jù)庫(kù)DB3
只讀??2 只能訪問(wèn)數(shù)據(jù)庫(kù)DB4

host: 允許登錄的主機(jī),相當(dāng)于?名單,如果是localhost,表?只能從本機(jī)登陸
user: ??名
*_priv:??擁有的權(quán)限
authentication_string: 加密后的??密碼

接下來(lái)開(kāi)始創(chuàng)建我們的用戶

CREATE USER [IF NOT EXISTS] 'user_name'@'host_name' IDENTIFIED BY
'auth_string';

user_name: ??名,?單引號(hào)包裹,區(qū)分??寫(xiě)
host_name: 主機(jī)或IP(段),?單引號(hào)包裹
auth_string: 真實(shí)密碼,有些密碼策略不允許使?簡(jiǎn)單密碼

這里需要的注意的是

如果不指定host_name相當(dāng)于’user_name’@‘%’,%表?所有主機(jī)都可以連接到數(shù)據(jù)庫(kù),強(qiáng)烈建議不要這樣設(shè)置,因?yàn)闀?huì)導(dǎo)致嚴(yán)重的安全問(wèn)題

user_name和host_name分別?單引號(hào)包裹,如果寫(xiě)成 ‘user_name @host_name’,相當(dāng)
‘user_name@host_name’@'%

host_name可以通過(guò)??掩碼設(shè)置主機(jī)范圍

  • 198.0.0.0/255.0.0.0 : A段?絡(luò)中的任意?臺(tái)主機(jī)
  • 198.51.0.0/255.255.0.0: 198.51 B段?絡(luò)中的任意?臺(tái)主機(jī)
  • 198.51.100.0/255.255.255.0: 198.51.100 C段?絡(luò)中的任意?臺(tái)主機(jī)
  • 198.51.100.1 :只包含特定IP地址的主機(jī)

從MySQL 8.0.23開(kāi)始,指定為IPv4地址的主機(jī)值可以使?CIDR表?法寫(xiě)?,例如198.51.100.44/24

• 允許在IP地址中使?%通配符,?如,主機(jī)值’%'匹配任何主機(jī)名, 198.51.100.% 匹配198.51.100C段?絡(luò)中的任何主機(jī)。MySQL 8.0.35中已棄?,以后可能會(huì)刪除

四:權(quán)限管理

內(nèi)置的一些權(quán)限如下圖所示:

  • 權(quán)限層級(jí)關(guān)系
    • 全局權(quán)限(*.*)覆蓋數(shù)據(jù)庫(kù)權(quán)限(db.*
    • 數(shù)據(jù)庫(kù)權(quán)限覆蓋表級(jí)權(quán)限(db.table
    • 表級(jí)權(quán)限覆蓋列級(jí)權(quán)限(db.table(column)
    • 權(quán)限遵循"最小權(quán)限原則",應(yīng)按需分配最窄范圍的權(quán)限
  • 常用權(quán)限說(shuō)明
    • 數(shù)據(jù)操作:SELECT(查詢)、INSERT(插入)、UPDATE(更新)、DELETE(刪除)
    • 結(jié)構(gòu)操作:CREATE(創(chuàng)建)、ALTER(修改)、DROP(刪除)
    • 管理權(quán)限:GRANT OPTION(授權(quán)他人)、SUPER(超級(jí)權(quán)限)、SHUTDOWN(關(guān)閉服務(wù))
  • 權(quán)限生效機(jī)制
    • 新授予的權(quán)限對(duì)已有連接不生效,需重新連接
    • FLUSH PRIVILEGES 命令用于從權(quán)限表重新加載權(quán)限設(shè)置
    • 推薦通過(guò) GRANT/REVOKE 操作權(quán)限,而非直接修改 mysql 系統(tǒng)庫(kù)表
  • 安全建議
    • 避免給普通用戶授予 DROP、ALTER 等危險(xiǎn)權(quán)限
    • 限制 GRANT OPTION 權(quán)限的使用,防止權(quán)限擴(kuò)散
    • 定期審計(jì)權(quán)限,移除不再需要的權(quán)限
    • 敏感操作(如刪除表)建議使用專門(mén)的管理員賬號(hào)執(zhí)行

通過(guò)以上操作,可以實(shí)現(xiàn)對(duì) MySQL 用戶權(quán)限的精細(xì)化管理,確保數(shù)據(jù)庫(kù)操作的安全性和可控性。

到此這篇關(guān)于MySQL從視圖到用戶和權(quán)限管理操作的文章就介紹到這了,更多相關(guān)mysql用戶權(quán)限管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL大表關(guān)聯(lián)優(yōu)化全攻略及常見(jiàn)問(wèn)題

    SQL大表關(guān)聯(lián)優(yōu)化全攻略及常見(jiàn)問(wèn)題

    在數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,SQL作為數(shù)據(jù)庫(kù)交互的核心語(yǔ)言,其重要性不言而喻,這篇文章主要介紹了SQL大表關(guān)聯(lián)優(yōu)化全攻略及常見(jiàn)問(wèn)題的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • MySQL表自增id溢出的故障原因和解決方法

    MySQL表自增id溢出的故障原因和解決方法

    MySQL 表的自增 ID 溢出問(wèn)題通常發(fā)生在使用 INT 或 BIGINT 類型的自增字段時(shí),如果數(shù)據(jù)量極大,達(dá)到自增字段的最大值時(shí),就會(huì)導(dǎo)致溢出,不同的數(shù)據(jù)庫(kù)類型有不同的最大值,本文給大家介紹了MySQL表自增id溢出的故障原因和解決方法,需要的朋友可以參考下
    2024-12-12
  • MySQL復(fù)制架構(gòu)的搭建及配置過(guò)程

    MySQL復(fù)制架構(gòu)的搭建及配置過(guò)程

    這篇文章主要介紹了MySQL復(fù)制架構(gòu)的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • mysql8查看鎖信息

    mysql8查看鎖信息

    MYSQL中有一個(gè)重要的特性就是鎖,下面這篇文章主要給大家介紹了關(guān)于mysql8查看鎖信息的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Linux系統(tǒng)部署MySQL(mariadb)并進(jìn)行簡(jiǎn)單的操作步驟

    Linux系統(tǒng)部署MySQL(mariadb)并進(jìn)行簡(jiǎn)單的操作步驟

    MariaDB作為Mysql的一個(gè)分支,在開(kāi)源項(xiàng)目中已經(jīng)廣泛使用,這篇文章主要介紹了Linux系統(tǒng)部署MySQL(mariadb)并進(jìn)行簡(jiǎn)單的操作步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-05-05
  • MySQL 配置免密碼登錄的問(wèn)題記錄(mysql_config_editor Configuration)

    MySQL 配置免密碼登錄的問(wèn)題記錄(mysql_config_editor Configurati

    這篇文章主要介紹了MySQL 配置免密碼登錄的問(wèn)題記錄(mysql_config_editor Configuration),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • MySQL免安裝版(zip)安裝配置詳細(xì)教程

    MySQL免安裝版(zip)安裝配置詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了MySQL免安裝版(zip)安裝配置詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • PHP使用mysqli擴(kuò)展連接MySQL數(shù)據(jù)庫(kù)

    PHP使用mysqli擴(kuò)展連接MySQL數(shù)據(jù)庫(kù)

    這篇文章主要介紹了PHP使用mysqli擴(kuò)展連接MySQL數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2014-08-08
  • MLSQL Stack如何讓流調(diào)試更加簡(jiǎn)單詳解

    MLSQL Stack如何讓流調(diào)試更加簡(jiǎn)單詳解

    這篇文章主要給大家介紹了關(guān)于MLSQL Stack如何讓流調(diào)試更加簡(jiǎn)單的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MLSQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • MySQL高級(jí)進(jìn)階sql語(yǔ)句總結(jié)大全

    MySQL高級(jí)進(jìn)階sql語(yǔ)句總結(jié)大全

    這篇文章主要給大家介紹了關(guān)于MySQL高級(jí)進(jìn)階sql語(yǔ)句的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

德化县| 翁源县| 门源| 乌拉特后旗| 通许县| 珠海市| 安义县| 台南市| 内乡县| 永德县| 仙桃市| 白沙| 平江县| 丽江市| 桐乡市| 称多县| 佛教| 桃江县| 新丰县| 龙里县| 孟连| 仙居县| 普宁市| 化州市| 远安县| 富平县| 融水| 札达县| 德钦县| 平武县| 大英县| 巨野县| 临武县| 龙游县| 浙江省| 郑州市| 邮箱| 家居| 青龙| 铅山县| 聊城市|