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

一文帶你深入了解并掌握MySQL的DML和DCL

 更新時間:2024年02月10日 09:43:43   作者:嶼小夏  
在數(shù)據(jù)庫管理中,數(shù)據(jù)操作語言(DML)和數(shù)據(jù)控制語言(DCL)是至關重要的概念,DML使我們能夠對數(shù)據(jù)庫中的數(shù)據(jù)進行增加、修改和刪除操作,本文將深入探討這兩個關鍵領域的核心概念和操作方法,幫助您更好地理解和應用數(shù)據(jù)庫管理技術

前言

在數(shù)據(jù)庫管理中,數(shù)據(jù)操作語言(DML)和數(shù)據(jù)控制語言(DCL)是至關重要的概念。DML使我們能夠對數(shù)據(jù)庫中的數(shù)據(jù)進行增加、修改和刪除操作,而DCL則允許我們管理用戶和控制數(shù)據(jù)庫的訪問權限。本文將深入探討這兩個關鍵領域的核心概念和操作方法,幫助您更好地理解和應用數(shù)據(jù)庫管理技術。

一. DML

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

  • 添加數(shù)據(jù)(INSERT)
  • 修改數(shù)據(jù)(UPDATE)
  • 刪除數(shù)據(jù)(DELETE)

1.1 添加數(shù)據(jù)

給指定字段添加數(shù)據(jù)

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);

給全部字段添加數(shù)據(jù)

INSERT INTO 表名 VALUES (值1, 值2, ...);

批量添加數(shù)據(jù)

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值
1, 值2, ...) ;
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

注意事項 :

  • 插入數(shù)據(jù)時,指定的字段順序需要與值的順序是一一對應的。
  • 字符串和日期型數(shù)據(jù)應該包含在引號中。
  • 插入的數(shù)據(jù)大小,應該在字段的規(guī)定范圍內。

案例1: 給employee表所有的字段添加數(shù)據(jù) ;

insert into employee(id,workno,name,gender,age,idcard,entrydate)
values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');

查詢數(shù)據(jù)的SQL語句, 語句如下:

select * from employee;

**案例2:**給全部字段添加數(shù)據(jù)

INSERT INTO 表名 VALUES (值1, 值2, ...);

插入數(shù)據(jù)到employee表,具體的SQL如下:

insert into employee values(2,'2','張無忌','男',18,'123456789012345670','2005-01-01');

**案例3:**批量插入數(shù)據(jù)到employee表,具體的SQL如下:

insert into employee values(3,'3','韋一笑','男',38,'123456789012345670','2005-01-01'),(4,'4','趙敏','女',18,'123456789012345670','2005-01-01');

1.2 修改數(shù)據(jù)

修改數(shù)據(jù)的具體語法為:

UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 條件 ] ;

注意事項:

  • 修改語句的條件可以有,也可以沒有,如果沒有條件,則會修改整張表的所有數(shù)據(jù)。

案例:

A. 修改id為1的數(shù)據(jù),將name修改為yuxia

update employee set name = 'yuxia' where id = 1;

B. 修改id為1的數(shù)據(jù), 將name修改為小昭, gender修改為 女

update employee set name = '小昭' , gender = '女' where id = 1;

C. 將所有的員工入職日期修改為 2008-01-01

update employee set entrydate = '2008-01-01';

注意事項:

  • DELETE 語句的條件可以有,也可以沒有,如果沒有條件,則會刪除整張表的所有數(shù)據(jù)。
  • DELETE 語句不能刪除某一個字段的值(可以使用UPDATE,將該字段值置為NULL即可)。
  • 當進行刪除全部數(shù)據(jù)操作時,如果你使用的是datagrip,它就會提示我們,詢問是否確認刪除,我們直接點擊Execute即可。

案例:

A. 刪除gender為女的員工

delete from employee where gender = '女';

B. 刪除所有員工

delete from employee;

二. DCL

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

2.1 管理用戶

**查詢用戶 **

select * from mysql.user;

其中 Host代表當前用戶訪問的主機, 如果為localhost, 僅代表只能夠在當前本機訪問,是不可以遠程訪問的。 User代表的是訪問該數(shù)據(jù)庫的用戶名。在MySQL中需要通過Host和User來唯一標識一個用戶。

創(chuàng)建用戶

CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼';

修改用戶密碼

ALTER USER '用戶名'@'主機名' IDENTIFIED WITH mysql_native_password BY '新密碼' ;

刪除用戶

DROP USER '用戶名'@'主機名' ;

注意事項:

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

案例

A. 創(chuàng)建用戶itcast, 只能夠在當前主機localhost訪問, 密碼123456;

create user 'itcast'@'localhost' identified by '123456';

B. 創(chuàng)建用戶yuxia, 可以在任意主機訪問該數(shù)據(jù)庫, 密碼123456;

create user 'yuxia'@'%' identified by '123456';

C. 修改用戶yuxia的訪問密碼為1234;

alter user 'heima'@'%' identified with mysql_native_password by '1234';

D. 刪除 itcast@localhost 用戶

drop user 'itcast'@'localhost';

2.2 權限控制

MySQL中定義了很多種權限,但是常用的就以下幾種:

權限說明
ALL, ALL PRIVILEGES所有權限
SELECT查詢數(shù)據(jù)
INSERT插入數(shù)據(jù)
UPDATE修改數(shù)據(jù)
DELETE刪除數(shù)據(jù)
ALTER修改表
DROP刪除數(shù)據(jù)庫/表/視圖
CREATE創(chuàng)建數(shù)據(jù)庫/表

上述只是簡單羅列了常見的幾種權限描述,其他權限描述及含義

查詢權限

SHOW GRANTS FOR '用戶名'@'主機名' ;

授予權限

GRANT 權限列表 ON 數(shù)據(jù)庫名.表名 TO '用戶名'@'主機名';

撤銷權限

REVOKE 權限列表 ON 數(shù)據(jù)庫名.表名 FROM '用戶名'@'主機名';

注意事項:

  • 多個權限之間,使用逗號分隔
  • 授權時, 數(shù)據(jù)庫名和表名可以使用 * 進行通配,代表所有。

案例:

A. 查詢 ‘test’@‘%’ 用戶的權限

show grants for 'test'@'%';

B. 授予 ‘test’@‘%’ 用戶student數(shù)據(jù)庫所有表的所有操作權

grant all on student.* to 'test'@'%';

C. 撤銷 ‘test’@’%’ 用戶的student數(shù)據(jù)庫的所有權限

revoke all on student.* from 'test'@'%';

A. 查詢 ‘test’@‘%’ 用戶的權限

show grants for 'test'@'%';

B. 授予 ‘test’@‘%’ 用戶student數(shù)據(jù)庫所有表的所有操作權

grant all on student.* to 'test'@'%';

C. 撤銷 ‘test’@’%’ 用戶的student數(shù)據(jù)庫的所有權限

revoke all on student.* from 'test'@'%';

以上就是一文帶你深入了解并掌握MySQL的DML和DCL的詳細內容,更多關于MySQL的DML和DCL的資料請關注腳本之家其它相關文章!

相關文章

  • mysql索引和事務的使用解讀

    mysql索引和事務的使用解讀

    這篇文章主要介紹了mysql索引和事務的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • MySQL查詢重寫插件的使用

    MySQL查詢重寫插件的使用

    這篇文章主要介紹了MySQL查詢重寫插件的使用,幫助大家更好的理解和維護數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • Linux下mysql 5.7 部署及遠程訪問配置

    Linux下mysql 5.7 部署及遠程訪問配置

    這篇文章主要為大家詳細介紹了Linux下mysql 5.7 部署及遠程訪問的配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • dmysql自己封裝的mysql庫

    dmysql自己封裝的mysql庫

    dmysql自己封裝的mysql庫...
    2007-07-07
  • mysql8.0.19忘記密碼處理方法詳解

    mysql8.0.19忘記密碼處理方法詳解

    這篇文章主要介紹了mysql8.0.19忘記密碼處理方法詳解,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • master and slave have equal MySQL server ids

    master and slave have equal MySQL server ids

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2013-07-07
  • 查詢優(yōu)化之EXPLAIN的使用分析

    查詢優(yōu)化之EXPLAIN的使用分析

    本篇文章是對EXPLAIN的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • mysql中workbench實例詳解

    mysql中workbench實例詳解

    在本篇文章里小編給大家分享了關于mysql中workbench實例內容,有興趣的朋友們學習下。
    2019-01-01
  • MySQL數(shù)據(jù)庫中遇到no?database?selected問題解決辦法

    MySQL數(shù)據(jù)庫中遇到no?database?selected問題解決辦法

    這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫中遇到no?database?selected問題的解決辦法,這是MySQL數(shù)據(jù)庫的錯誤提示,意思是沒有選擇數(shù)據(jù)庫,在使用MySQL命令行操作時需要先選擇要操作的數(shù)據(jù)庫,否則就會出現(xiàn)這個錯誤,需要的朋友可以參考下
    2024-03-03
  • mysql之跨庫關聯(lián)查詢(dblink)問題

    mysql之跨庫關聯(lián)查詢(dblink)問題

    這篇文章主要介紹了mysql之跨庫關聯(lián)查詢(dblink)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論

敖汉旗| 武强县| 北川| 光泽县| 习水县| 银川市| 锡林郭勒盟| 琼结县| 东光县| 鲜城| 斗六市| 墨江| 台东市| 弥渡县| 江门市| 赣州市| 土默特左旗| 潢川县| 新沂市| 尉犁县| 化州市| 新巴尔虎右旗| 铜陵市| 依兰县| 马公市| 崇左市| 海伦市| 思南县| 塔河县| 岑巩县| 休宁县| 临夏市| 绍兴县| 蓝田县| 建瓯市| 阿克陶县| 灵川县| 文化| 九寨沟县| 故城县| 莆田市|