<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 編程學(xué)習(xí) >> 數(shù)據(jù)庫語言 >> 正文

      數(shù)據(jù)庫入門-----SQL基礎(chǔ)知識_sql數(shù)據(jù)庫

      作者:佚名    文章來源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2024/10/1

      目錄

      📖前言:

      📑SQL概述&&通用語法:

      🐳DDL:

      🐻操作數(shù)據(jù)庫:

      🐞數(shù)據(jù)類型:

      🦉操作表:

      🦦DML:

      語法規(guī)則:

      案例演示:

      🦏DQL:

      語法規(guī)則:

      案例演示:

      # 基礎(chǔ)查詢:

      # 條件查詢:

      #聚合函數(shù):

      # 分組查詢:

      #排序查詢:

      #分頁查詢:

      執(zhí)行順序:

      🫎DCL:

      語法規(guī)則:


      📖前言:

      SQL語言有40多年的歷史,從它被應(yīng)用至今幾乎無處不在。我們消費(fèi)的每一筆支付記錄,收集的每一條用戶信息,發(fā)出去的每一條消息,都會使用數(shù)庫或與其相關(guān)的產(chǎn)品來據(jù)存儲,而操縱數(shù)據(jù)庫的語言正是 SQL !!!

       

      SQL相當(dāng)于一種工具,它可以幫助我們完成工作,創(chuàng)造價(jià)值。 本文就來詳細(xì)講解SQL的相關(guān)概念與操作,為后面的數(shù)據(jù)庫深入學(xué)習(xí)打下基礎(chǔ)。

      😺😺😺數(shù)據(jù)庫與SQL相關(guān)說明:

      名稱 全稱 簡稱
      數(shù)據(jù)庫
      存儲數(shù)據(jù)的倉庫,數(shù)據(jù)是有組織的進(jìn)行存儲
      DataBase DB
      數(shù)據(jù)庫管 理系統(tǒng)
      操縱和管理數(shù)據(jù)庫的大型軟件
      DataBase Management
      System (DBMS)
      SQL
      操作關(guān)系型數(shù)據(jù)庫的編程語言,定義了一套操作關(guān)系型數(shù)據(jù)庫統(tǒng)一標(biāo)準(zhǔn)
      Structured Query
      Language (SQL)

       

      📑SQL概述&&通用語法:

      SQL,全稱 Structured Query Language,結(jié)構(gòu)化查詢語言。操作關(guān)系型數(shù)據(jù)庫的編程語言,定義了一套操作關(guān)系型數(shù)據(jù)庫統(tǒng)一標(biāo)準(zhǔn) 。

      😀學(xué)習(xí)SQL的作用:

      SQL 是一門 ANSI 的標(biāo)準(zhǔn)計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫系統(tǒng)。SQL 語句用于取回和更新數(shù)據(jù)庫中的數(shù)據(jù)。

      • SQL 可創(chuàng)建新數(shù)據(jù)庫
      • SQL 面向數(shù)據(jù)庫執(zhí)行查詢
      • SQL 可從數(shù)據(jù)庫取回?cái)?shù)據(jù)
      • SQL 可在數(shù)據(jù)庫中插入新的記錄
      • SQL 可從數(shù)據(jù)庫刪除記錄
      • SQL 可更新數(shù)據(jù)庫中的數(shù)據(jù)

      👌SQL分類:

      SQL 語句,根據(jù)其功能,主要分為四類: DDL DML DQL DCL

      🧐SQL通用語法:

      • SQL語句可以單行或多行書寫,以分號結(jié)尾。
      • SQL 語句可以使用空格 / 縮進(jìn)來增強(qiáng)語句的可讀性
      • MySQL 數(shù)據(jù)庫的 SQL 語句不區(qū)分大小寫,關(guān)鍵字建議使用大寫。​​​​​​
        * 注釋:
        1)單行注釋: -- 注釋內(nèi)容 # 注釋內(nèi)容
        2)多行注釋: /* 注釋內(nèi)容 */

      好了,通過上面的一些說明,想必你對SQL有了一定了解了,那我們直接開始SQL的學(xué)習(xí)吧~~~

      🐳DDL:

      Data Definition Language,數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象(數(shù)據(jù)庫,表,字段)

      🐻操作數(shù)據(jù)庫:

      這里先列出總的語法,后面依次解釋說明:

      # 庫操作
      -- 1.1 查詢所有數(shù)據(jù)庫
      show databases ;
      -- 1.2 查詢當(dāng)前數(shù)據(jù)庫
      select database() ;
      -- 1.3 創(chuàng)建數(shù)據(jù)庫
      create database [ if not exists ] 數(shù)據(jù)庫名 [ default charset 字符集 ] [ collate 排序
      規(guī)則 ] ;
      -- 1.4 刪除數(shù)據(jù)庫
      drop database [ if exists ] 數(shù)據(jù)庫名 ;
      -- 1.5 切換數(shù)據(jù)庫
      use 數(shù)據(jù)庫名 ;
      # 表操作:
      -- 2.1 查詢當(dāng)前數(shù)據(jù)庫所有表
      show tables;
      -- 2.2 查看指定表結(jié)構(gòu)
      desc 表名 ;
      -- 2.3 查詢指定表的建表語句
      show create table 表名 ;
      -- 2.4 創(chuàng)建表結(jié)構(gòu)
      create table 表名(
      字段1 字段1類型 [comment 字段1注釋 ],
      字段2 字段2類型 [comment 字段2注釋 ],
      字段3 字段3類型 [comment 字段3注釋 ],
      ......
      字段n 字段n類型 [comment 字段n注釋 ]
      ) [ comment 表注釋 ] ;
      
      • 查詢所有數(shù)據(jù)庫:
      show databases ;

       

      ------->可以看到這里有四個(gè)系統(tǒng)自帶的數(shù)據(jù)庫

      • 創(chuàng)建數(shù)據(jù)庫:
      create database [ if not exists ] 數(shù)據(jù)庫名 [ default charset 字符集 ] [ collate 排序
      規(guī)則 ] ;
      /*create database if not exists 數(shù)據(jù)庫名 --->如果數(shù)據(jù)庫已經(jīng)存在(同名)則不創(chuàng)建,否則創(chuàng)建*/
      /*中括號中的內(nèi)容是可選的,可以寫也可以不寫*/

      在mysql中輸入下面指令,名為itcast的數(shù)據(jù)庫創(chuàng)建成功

       

      • 查詢當(dāng)前數(shù)據(jù)庫:
      select database() ; 
      • 切換數(shù)據(jù)庫 :
      我們要操作某一個(gè)數(shù)據(jù)庫下的表時(shí),就需要通過該指令,切換到對應(yīng)的數(shù)據(jù)庫下,否則是不能操作的。比如,切換到itcast 數(shù)據(jù),執(zhí)行如下 SQL
      use itcast;

       

      • 刪除數(shù)據(jù)庫 :
      drop database [ if exists ] 數(shù)據(jù)庫名 ;
      /*如果刪除一個(gè)不存在的數(shù)據(jù)庫,將會報(bào)錯(cuò)。
      此時(shí),可以加上參數(shù) if exists ,如果數(shù)據(jù)庫存在,再
      執(zhí)行刪除,否則不執(zhí)行刪除。*/

       

      🐞數(shù)據(jù)類型:

      在建表語句中,我們指定字段的數(shù)據(jù)類型時(shí),常常用到int ,varchar,那么在MySQL中除了 以上的數(shù)據(jù)類型,還有哪些常見的數(shù)據(jù)類型呢? 接下來,我們就來詳細(xì)介紹一下MySQL的數(shù)據(jù)類型。

      MySQL中的數(shù)據(jù)類型有很多,主要分為三類:數(shù)值類型、字符串類型、日期時(shí)間類型。

      🦏🦏🦏常用類型

      • int:整型
      • double:浮點(diǎn)型,例如 double(5,2)表示最多 5 位,其中必須有 2 位小數(shù),即最大值為 999.99;
      • decimal:泛型型,在表單線方面使用該類型,因?yàn)椴粫霈F(xiàn)精度缺失問題;
      • char:固定長度字符串類型;(當(dāng)輸入的字符不夠長度時(shí)會補(bǔ)空格)
      • varchar:固定長度字符串類型;
      • text:字符串類型;
      • blob:字節(jié)類型;
      • date:日期類型,格式為:yyyy-MM-dd;
      • time:時(shí)間類型,格式為:hh:mm:ss
      • timestamp:時(shí)間戳類型;

      更多數(shù)據(jù)類型可以查看這篇文章:最全 SQL 字段類型(4種)、屬性(6種)總結(jié)_sql字段類型-CSDN博客

      🦉操作表:

      • 創(chuàng)建表:

       

      🐞🐞🐞注意:[ ] 中的內(nèi)容是可選的,最后一個(gè)字段沒有逗號.

      比如,我們創(chuàng)建一張表 tb_user ,對應(yīng)的結(jié)構(gòu)如下

      那么建表語句為:

      create table tb_user(
      id int comment '編號',
      name varchar(50) comment '姓名',
      age int comment '年齡',
      gender varchar(1) comment '性別'
      ) comment '用戶表';
      • 查詢當(dāng)前數(shù)據(jù)庫所有表:
      show tables;
      • . 查看指定表結(jié)構(gòu):
      desc 表名 ;

      演示:

       

      • 查詢指定表的建表語句:
      show create table 表名 ;

       

      上述,我們已經(jīng)講解了通過DDL語句,如何操作數(shù)據(jù)庫、操作表、操作表中的字段,而通過DDL語句執(zhí) 行在命令進(jìn)行操作,主要存在以下兩點(diǎn)問題:

      1).會影響開發(fā)效率 ;

      2). 使用起來,并不直觀,并不方便 ;

      所以,后續(xù)語法與操作展示我將在SQL圖示化工具------Vavicat中展示,感興趣的小伙伴可已自行下載:Navicat 中國 | 支持 MySQL、Redis、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的數(shù)據(jù)庫管理

       

      🦦DML:

      DML英文全稱是Data Manipulation Language(數(shù)據(jù)操作語言),用來對數(shù)據(jù)庫中表的數(shù)據(jù)記錄進(jìn) 行增、刪、改操作。

      語法規(guī)則:

      -- 1. 添加數(shù)據(jù)
      # 1.1 給指定字段添加數(shù)據(jù)
      INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
      # 1.2 給全部字段添加數(shù)據(jù)
      INSERT INTO 表名 VALUES (值1, 值2, ...);
      # 1.3 批量添加數(shù)據(jù)
      INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值
      1, 值2, ...) ;
      -- 2. 修改數(shù)據(jù)
      UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 條件 ] ;
      /* 沒有條件where表示將表中的所有數(shù)據(jù)都進(jìn)行修改*/
      -- 3.  刪除數(shù)據(jù)
      DELETE FROM 表名 [ WHERE 條件 ] ;
      /* 沒有條件where相當(dāng)于刪除所有數(shù)據(jù) */
      

      按照上述操作,我們創(chuàng)建表并給表插入信息:

      案例演示:

      -- 查看所有數(shù)據(jù)庫
      show databases;
      -- 創(chuàng)建itcast數(shù)據(jù)庫
      create database if not exists itcast;
      -- 使用當(dāng)前數(shù)據(jù)庫
      use itcast;
      -- 創(chuàng)建員工表
      create table emp(
      id int comment '編號',
      workno varchar(10) comment '工號',
      name varchar(10) comment '姓名',
      gender char(1) comment '性別',
      age tinyint unsigned comment '年齡',
      idcard char(18) comment '身份證號',
      workaddress varchar(50) comment '工作地址',
      entrydate date comment '入職時(shí)間'
      )comment '員工表';
      -- 展示所創(chuàng)建的表信息
      desc emp;
      -- 加入表中成員
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (1, '0001', ' 柳巖', '女', 19, ' 123445', '北京', '2024-04-01');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (2, '0002', '坤坤', '男', 20, '34568', '北京', '2024-04-02');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (3, '0004', '張三', '男', 22, '45678', '上海', '2024-04-03');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (4, '0005', '李四', '男', 18, '23535', '深圳', '2024-04-05');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (5, '0006', '小明', '男', 35, '23535', '福建', '2024-04-06');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (6, '0007', '麗華', '女', 34, '135252', '天津', '2024-04-07');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (8, '0008', '小貓', '女', 18, '1235215', '福建', '2024-04-05');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (9, '0009', '涼涼', '男', 20, '12345135', '西安', '2024-04-04');
      INSERT INTO `emp` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (10, '0010', '菜菜', '女', 19, '135235', '安徽', '2024-04-02');
      -- 這里先用來查看所有表中信息,后續(xù)會講到
      select * from emp;
      /*  這里是不運(yùn)行的部分,僅作展示
      -- 修改表中信息:
      update emp set name = '小王' where id = 1;
      update emp set entrydate = '2008-01-01'; -- 沒有條件where就是全部修改
      -- 刪除表中數(shù)據(jù)
      delete from emp where gender = '女'; */
      

      運(yùn)行結(jié)果:

       

      注意:

      • DELETE 語句的條件可以有,也可以沒有,如果沒有條件,則會刪除整張表的所有數(shù)據(jù)。
      • DELETE 語句不能刪除某一個(gè)字段的值(可以使用UPDATE,將該字段值置為NULL即可)。
      • 所有字符串?dāng)?shù)據(jù)必須使用單引用!

      🦏DQL:

      DQL英文全稱是Data Query Language(數(shù)據(jù)查詢語言),數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù)庫中表的記 錄。查詢關(guān)鍵字: SELECT

      在一個(gè)正常的業(yè)務(wù)系統(tǒng)中,查詢操作的頻次是要遠(yuǎn)高于增刪改的,當(dāng)我們?nèi)ピL問企業(yè)官網(wǎng)、電商網(wǎng)站, 在這些網(wǎng)站中我們所看到的數(shù)據(jù),實(shí)際都是需要從數(shù)據(jù)庫中查詢并展示的。而且在查詢的過程中,可能 還會涉及到條件、排序、分頁等操作。比如京東購物網(wǎng)站:

       

      語法規(guī)則:

      # 基礎(chǔ)查詢
      -- 1.1 查詢多個(gè)字段
      SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
      SELECT * FROM 表名 ;-- 帶*號是查詢所有字段
      -- 1.2 字段設(shè)置別名:
      SELECT 字段1 [ AS 別名1 ] , 字段2 [ AS 別名2 ] ... FROM 表名;
      SELECT 字段1 [ 別名1 ] , 字段2 [ 別名2 ] ... FROM 表名; -- as可以省略
      -- 1.3  去除重復(fù)記錄
      SELECT DISTINCT 字段列表 FROM 表名; -- 保留不同的字段
      # 條件查詢
      SELECT 字段列表 FROM 表名 WHERE 條件列表 ;
      #聚合函數(shù)
      SELECT 聚合函數(shù)(字段列表) FROM 表名 ;
      #分組查詢
      SELECT 字段列表 FROM 表名 [ WHERE 條件 ] GROUP BY 分組字段名 [ HAVING 分組
      后過濾條件 ];
      # 排序查詢
      SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;
      ASC : 升序(默認(rèn)值) -- 排序方式
      DESC: 降序 -- 排序方式
      # 分頁查詢
      SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查詢記錄數(shù) ;

      案例演示:

      # 基礎(chǔ)查詢

      A.查詢指定字段 name, workno, age并返回:

      select name,workno,age from emp;
      

      B:查詢返回所有字段:

      select id ,workno,name,gender,age,idcard,workaddress,entrydate from emp; -- 1
      select * from emp; -- 2

      C:查詢所有員工的工作地址,起別名:

      select workaddress (as) '工作地址' from emp; -- as 可以省略
      

      D:查詢公司員工的上班地址有哪些(不要重復(fù)):

      select distinct workaddress '工作地址' from emp;
      

      D:這里演示最后一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      # 條件查詢:

      常用的比較運(yùn)算符如下:

       

      常用的邏輯運(yùn)算符如下:

       

      案例:

      A. 查詢年齡等于 88 的員工:

      select * from emp where age = 88;
      

      B.查詢年齡小于等于 20 的員工信息:

      select * from emp where age <= 20;
      

      C.查詢年齡在15歲(包含) 到 20歲(包含)之間的員工信息:

      select * from emp where age >= 15 && age <= 20; -- 1
      select * from emp where age >= 15 and age <= 20; -- 2
      select * from emp where age between 15 and 20; -- 3

      D.查詢身份證號最后一位是X的員工信息:

      -- % 匹配任意個(gè)字符
      select * from emp where idcard like '%X'; 
      -- _ 匹配一個(gè)字符,若身份證號18位,則X前有17個(gè)空格
      select * from emp where idcard like '_________________X'; 
      

      D:這里演示最后一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      #聚合函數(shù):

      將一列數(shù)據(jù)作為一個(gè)整體,進(jìn)行縱向計(jì)算 ,下面展示常見聚合函數(shù):

       

      注意 : NULL值是不參與所有聚合函數(shù)運(yùn)算的!!!

      案例:

      A. 統(tǒng)計(jì)該企業(yè)員工數(shù)量:

      select count(*) from emp; -- 統(tǒng)計(jì)的是總記錄數(shù),含創(chuàng)建的null字段
      select count(idcard) from emp; -- 統(tǒng)計(jì)的是idcard字段不為null的記錄數(shù)

      B.統(tǒng)計(jì)該企業(yè)員工的平均年齡:

      select avg(age) from emp;
      

      C. 統(tǒng)計(jì)該企業(yè)員工的最大年齡:

      select max(age) from emp;

      D.統(tǒng)計(jì)福建地區(qū)員工的年齡之和:

      select sum(age) from emp where workaddress = '福建';

      D:這里演示最后一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      # 分組查詢:

      SELECT 字段列表 FROM 表名 [ WHERE 條件 ] GROUP BY 分組字段名 [ HAVING 分組
      后過濾條件 ];

      🐻🐻🐻 where 和 having的區(qū)別:

      • 執(zhí)行時(shí)機(jī)不同:where是分組之前進(jìn)行過濾,不滿足where條件,不參與分組;而having是分組 之后對結(jié)果進(jìn)行過濾。
      • 判斷條件不同:where不能對聚合函數(shù)進(jìn)行判斷,而having可以

      案例:

      A. 根據(jù)性別分組 , 統(tǒng)計(jì)男性員工 和 女性員工的數(shù)量:

      select gender, count(*) from emp group by gender ;

      B. 根據(jù)性別分組 , 統(tǒng)計(jì)男性員工 和 女性員工的平均年齡:

      select gender, avg(age) from emp group by gender 

      C. 查詢年齡小于45的員工 , 并根據(jù)工作地址分組 , 獲取員工數(shù)量大于等于2的工作地址:

      select workaddress, count(*) address_count from emp where age < 45 group by
      workaddress having address_count >= 2;

      C:這里演示最后一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      #排序查詢:

      SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;

      注意:

      • 如果是升序, 可以不指定排序方式ASC ;
      • 如果是多字段排序,當(dāng)?shù)谝粋(gè)字段值相同時(shí),才會根據(jù)第二個(gè)字段進(jìn)行排序 ;

      案例:

      A. 根據(jù)年齡對公司的員工進(jìn)行升序排序:

      select * from emp order by age asc;
      select * from emp order by age; -- 默認(rèn)升序排序

      B.根據(jù)年齡對公司的員工進(jìn)行升序排序 , 年齡相同 , 再按照入職時(shí)間進(jìn)行降序排序:

      select * from emp order by age asc , entrydate desc;
      

      B:這里演示最后一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      #分頁查詢:

      分頁操作在業(yè)務(wù)系統(tǒng)開發(fā)時(shí),也是非常常見的一個(gè)功能,我們在網(wǎng)站中看到的各種各樣的分頁條,后臺 都需要借助于數(shù)據(jù)庫的分頁操作。

      1).語法:

      SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查詢記錄數(shù) ;

      注意事項(xiàng):

      • 起始索引從0開始,起始索引 = (查詢頁碼 - 1)* 每頁顯示記錄數(shù)。
      • 分頁查詢是數(shù)據(jù)庫的方言,不同的數(shù)據(jù)庫有不同的實(shí)現(xiàn),MySQL中是LIMIT。
      • 如果查詢的是第一頁數(shù)據(jù),起始索引可以省略,直接簡寫為 limit 10(一頁10條信息)。

      案例:

      A.查詢第1頁員工數(shù)據(jù), 每頁展示10條記錄:

      select * from emp limit 0,10;
      select * from emp limit 10; -- 第一頁,0可以省略
      

      B.查詢第2頁員工數(shù)據(jù), 每頁展示10條記錄 --------> (頁碼-1)*頁展示記錄數(shù):

      select * from emp limit 10,10;
      

      A:這里演示第一個(gè)查詢結(jié)果,其他類似(以DML中創(chuàng)建的員工表為例):

       

      執(zhí)行順序:

      在講解DQL語句的具體語法之前,我們已經(jīng)講解了DQL語句的完整語法,及編寫順序,接下來,我們要來說明的是DQL語句在執(zhí)行時(shí)的執(zhí)行順序,也就是先執(zhí)行那一部分,后執(zhí)行那一部分,下面一張圖說明執(zhí)行順序:

       

      🫎DCL:

      DCL英文全稱是Data Control Language(數(shù)據(jù)控制語言),用來管理數(shù)據(jù)庫用戶、控制數(shù)據(jù)庫的訪 問權(quán)限。

      語法規(guī)則:

      # 管理用戶
      -- 1.1  查詢用戶
      select * from mysql.user;
      -- 1.2  創(chuàng)建用戶
      -- 1.3 修改用戶密碼
      -- 1.4  刪除用戶
      DROP USER '用戶名'@'主機(jī)名' ;
      # 權(quán)限控制
      -- 2.1  查詢權(quán)限
      SHOW GRANTS FOR '用戶名'@'主機(jī)名' ;
      -- 2.2 授予權(quán)限
      GRANT 權(quán)限列表 ON 數(shù)據(jù)庫名.表名 TO '用戶名'@'主機(jī)名';
      -- 2.3  撤銷權(quán)限
      REVOKE 權(quán)限列表 ON 數(shù)據(jù)庫名.表名 FROM '用戶名'@'主機(jī)名';

      注意:

      • 在MySQL中需要通過用戶名@主機(jī)名的方式,來唯一標(biāo)識一個(gè)用戶
      • 主機(jī)名可以使用 % 通配
      • 這類SQL開發(fā)人員操作的比較少,主要是DBA( Database Administrator 數(shù)據(jù)庫 管理員)使用。

      對于權(quán)限控制,官方提供了許多方法 ,可以參考:MySQL :: MySQL 8.0 Reference Manual :: 8.2.2 Privileges Provided by MySQL

      這里不做過多展示了,有興趣的小伙伴可以自行想學(xué)習(xí)相應(yīng)規(guī)則

      結(jié)語: 寫博文不僅僅是為了分享學(xué)習(xí)經(jīng)歷,同時(shí)這也有利于我鞏固知識點(diǎn),總結(jié)該知識點(diǎn),由于作者水平有限,對文章有任何問題的還請指出,接受大家的批評,讓我改進(jìn)。同時(shí)也希望讀者們不吝嗇你們的點(diǎn)贊+收藏+關(guān)注,你們的鼓勵(lì)是我創(chuàng)作的最大動力!

      Tags:SQL,基礎(chǔ)入門,數(shù)據(jù)庫  
      責(zé)任編輯:admin
      請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲av成人综合网| 亚洲国产综合自在线另类| 五月天综合色激情| 色天天综合色天天看| 激情综合一区二区三区| 久久精品水蜜桃av综合天堂| 亚洲国产欧美国产综合一区| 狠狠综合视频精品播放| 色综合色综合色综合色欲| 色99久久久久高潮综合影院| 国产精品天干天干综合网| 狠狠综合亚洲综合亚洲色| 色欲色香天天天综合网站| 乱色熟女综合一区二区三区| 一本狠狠色丁香婷婷综合久久| 色综合小说天天综合网| 天天做.天天爱.天天综合网| 一本久久a久久精品综合夜夜| 伊人色综合久久大香| 色噜噜狠狠色综合久| 卡通动漫第一页综合专区| AV色综合久久天堂AV色综合在| 亚洲a∨国产av综合av下载| 久久综合亚洲色一区二区三区 | 日日AV色欲香天天综合网| 99久久综合精品国产| 国产婷婷色综合AV蜜臀AV| 中文字幕国产综合| 中文字幕久久综合| 国产成人综合精品一区| 国产精品综合久成人| HEYZO无码综合国产精品| 国产一区二区三区亚洲综合| 色综合久久加勒比高清88| 国产日韩综合一区二区性色AV| 伊人久久久大香线蕉综合直播 | 香蕉久久综合精品首页| 狠狠色狠狠色综合日日不卡| 久久综合色天天久久综合图片| 亚洲国产国产综合一区首页| 亚洲国产成人久久综合碰碰动漫3d|