日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 在sql語言中,數(shù)據(jù)操縱與數(shù)據(jù)控制有何區(qū)別?

在sql語言中,數(shù)據(jù)操縱與數(shù)據(jù)控制有何區(qū)別?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 20:36:54 1697200614

一、在sql語言中,數(shù)據(jù)操縱與數(shù)據(jù)控制的區(qū)別

在SQL語言中,數(shù)據(jù)操縱和數(shù)據(jù)控制是兩個不同的方面。數(shù)據(jù)操縱通常是針對數(shù)據(jù)庫中存儲的實(shí)際數(shù)據(jù)進(jìn)行的操作。例如:

SELECT:用于查詢數(shù)據(jù)庫中的數(shù)據(jù)記錄。INSERT:用于向數(shù)據(jù)庫中插入新的數(shù)據(jù)記錄。UPDATE:用于更新數(shù)據(jù)庫中現(xiàn)有的數(shù)據(jù)記錄。DELETE:用于刪除數(shù)據(jù)庫中的數(shù)據(jù)記錄。

這些命令都是針對數(shù)據(jù)庫中實(shí)際存儲的數(shù)據(jù)進(jìn)行的操作。另一方面,數(shù)據(jù)控制主要是針對數(shù)據(jù)庫中數(shù)據(jù)的訪問權(quán)限進(jìn)行的管理和控制,包括:

GRANT:用于為數(shù)據(jù)庫用戶授權(quán),賦予其訪問特定數(shù)據(jù)庫對象的權(quán)限。REVOKE:用于撤銷數(shù)據(jù)庫用戶的權(quán)限,收回其訪問特定數(shù)據(jù)庫對象的權(quán)限。CREATE USER:用于創(chuàng)建新的數(shù)據(jù)庫用戶。DROP USER:用于刪除數(shù)據(jù)庫用戶。

這些命令用于限制用戶對數(shù)據(jù)庫中數(shù)據(jù)的訪問權(quán)限,并確保只有經(jīng)過授權(quán)的用戶才能夠訪問數(shù)據(jù)庫中的數(shù)據(jù)。

二、SQL程序語言類型

SQL程序語言有四種類型,對數(shù)據(jù)庫的基本操作都屬于這四類,它們分別為;數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)查詢語言(DQL)、數(shù)據(jù)操縱語言(DML)、數(shù)據(jù)控制語言(DCL)。

1、數(shù)據(jù)定義語言(DDL)

DDL全稱是Data Definition Language,即數(shù)據(jù)定義語言,定義語言就是定義關(guān)系模式、刪除關(guān)系、修改關(guān)系模式以及創(chuàng)建數(shù)據(jù)庫中的各種對象,比如表、聚簇、索引、視圖、函數(shù)、存儲過程和觸發(fā)器等等。數(shù)據(jù)定義語言是由SQL語言集中負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫對象定義的語言,并且由CREATE、ALTER、DROP和TRUNCATE四個語法組成。比如:

 --創(chuàng)建一個student表    create table student(     id int identity(1,1) not null,     name varchar(20) null,     course varchar(20) null,     grade numeric null    )
--student表增加一個年齡字段alter table student add age int NULL
 --student表刪除年齡字段,刪除的字段前面需要加column,不然會報錯,而添加字段不需要加columnalter table student drop Column age
--刪除student表drop table student --刪除表的數(shù)據(jù)和表的結(jié)構(gòu)truncate table student -- 只是清空表的數(shù)據(jù),,但并不刪除表的結(jié)構(gòu),student表還在只是數(shù)據(jù)為空

2、數(shù)據(jù)操縱語言(DML)

數(shù)據(jù)操縱語言全程是Data Manipulation Language,主要是進(jìn)行插入元組、刪除元組、修改元組的操作。主要有insert、update、delete語法組成。

 --向student表中插入數(shù)據(jù)    --數(shù)據(jù)庫插入數(shù)據(jù) 一次性插入多行多列 格式為INSERT INTO table (字段1, 字段2,字段3) VALUES (值1,值2,值3),(值1,值2,值3),...;    INSERT INTO student (name, course,grade) VALUES ('張飛','語文',90),('劉備','數(shù)學(xué)',70),('關(guān)羽','歷史',25),('張?jiān)?,'英語',13);
  --更新關(guān)羽的成績    update student set grade='18' where name='關(guān)羽'
    --關(guān)羽因?yàn)闅v史成績太低,要退學(xué),所以刪除關(guān)羽這個學(xué)生    delete from student where name='關(guān)羽'

3、數(shù)據(jù)查詢語言(DQL)

數(shù)據(jù)查詢語言全稱是Data Query Language,所以是用來進(jìn)行數(shù)據(jù)庫中數(shù)據(jù)的查詢的,即最常用的select語句

  --從student表中查詢所有的數(shù)據(jù)    select * from student
    --從student表中查詢姓名為張飛的學(xué)生    select * from student where name='張飛'

4、數(shù)據(jù)控制語言(DCL)

數(shù)據(jù)控制語言:Data Control Language。用來授權(quán)或回收訪問數(shù)據(jù)庫的某種特權(quán),并控制數(shù)據(jù)庫操縱事務(wù)發(fā)生的時間及效果,能夠?qū)?shù)據(jù)庫進(jìn)行監(jiān)視。比如常見的授權(quán)、取消授權(quán)、回滾、提交等等操作。

創(chuàng)建用戶的語法結(jié)構(gòu):

CREATE USER 用戶名@地址 IDENTIFIED BY '密碼';    --創(chuàng)建一個testuser用戶,密碼111111    create user testuser@localhost identified by '111111';

給用戶授權(quán)的語法結(jié)構(gòu):

 GRANT 權(quán)限1, … , 權(quán)限n ON 數(shù)據(jù)庫.對象  TO 用戶名;    --將test數(shù)據(jù)庫中所有對象(表、視圖、存儲過程,觸發(fā)器等。*表示所有對象)的create,alter,drop,insert,update,delete,select賦給testuser用戶    grant create,alter,drop,insert,update,delete,select on test.* to testuser@localhost;

撤銷授權(quán)的語法結(jié)構(gòu):

REVOKE權(quán)限1, … , 權(quán)限n ON 數(shù)據(jù)庫.對象 FORM 用戶名;--將test數(shù)據(jù)庫中所有對象的create,alter,drop權(quán)限撤銷revoke create,alter,drop on test.* to testuser@localhost;

查看用戶權(quán)限的語法結(jié)構(gòu):

 SHOW GRANTS FOR 用戶名; --查看testuser的用戶權(quán)限 show grants for testuser@localhost;

刪除用戶的語法結(jié)構(gòu):

DROP USER 用戶名;--刪除testuser用戶drop user testuser@localhost;

三、SQL 概述

1、什么是 SQL

==SQL(Structured Query Language)==是“結(jié)構(gòu)化查詢語言”,它是對關(guān)系型數(shù)據(jù)庫的操作語言。它可以應(yīng)用到所有關(guān)系型數(shù)據(jù)庫中,例如:MySQL、Oracle、SQL Server 等。結(jié)構(gòu)化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能。

SQL 標(biāo)準(zhǔn)(ANSI/ISO)有:

SQL-92:1992 年發(fā)布的 SQL 語言標(biāo)準(zhǔn);SQL:1999:1999 年發(fā)布的 SQL 語言標(biāo)簽;SQL:2003:2003 年發(fā)布的 SQL 語言標(biāo)簽。

這些標(biāo)準(zhǔn)就與 JDK 的版本一樣,在新的版本中總要有一些語法的變化。不同時期的數(shù)據(jù)庫對不同標(biāo)準(zhǔn)做了實(shí)現(xiàn)。

雖然 SQL 可以用在所有關(guān)系型數(shù)據(jù)庫中,但很多數(shù)據(jù)庫還都有標(biāo)準(zhǔn)之后的一些語法,我們可以稱之為“方言”。例如 MySQL 中的 LIMIT 語句就是 MySQL 獨(dú)有的方言,其它數(shù)據(jù)庫都不支持!當(dāng)然,Oracle 或 SQL Server 都有自己的方言。

2、語法要求

SQL 語句可以單行或多行書寫,以分號結(jié)尾;可以用空格和縮進(jìn)來來增強(qiáng)語句的可讀性;關(guān)鍵字不區(qū)別大小寫,建議使用大寫。

延伸閱讀1:SQL語言的功能

SQL數(shù)據(jù)定義功能:能夠定義數(shù)據(jù)庫的三級模式結(jié)構(gòu),即外模式、全局模式和內(nèi)模式結(jié)構(gòu)。在SQL中,外模式又叫做視圖(View),全局模式簡稱模式(Schema),內(nèi)模式由系統(tǒng)根據(jù)數(shù)據(jù)庫模式自動實(shí)現(xiàn),一般無需用戶過問。SQL數(shù)據(jù)操縱功能:包括對基本表和視圖的數(shù)據(jù)插入、刪除和修改,特別是具有很強(qiáng)的數(shù)據(jù)查詢功能。 [3]SQL的數(shù)據(jù)控制功能:主要是對用戶的訪問權(quán)限加以控制,以保證系統(tǒng)的安全性。
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
互聯(lián)網(wǎng)、金融這兩個領(lǐng)域上用于數(shù)據(jù)挖掘、數(shù)據(jù)分析的數(shù)據(jù)庫是什么?

一、互聯(lián)網(wǎng)、金融這兩個領(lǐng)域上用于數(shù)據(jù)挖掘、數(shù)據(jù)分析的數(shù)據(jù)庫1、MySQLMySQL 是一個流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛用于互聯(lián)網(wǎng)和金融領(lǐng)域...詳情>>

2023-10-13 22:13:51
Oracle數(shù)據(jù)庫中生產(chǎn)庫、查詢庫、測試庫有什么區(qū)別?

一、Oracle數(shù)據(jù)庫中生產(chǎn)庫、查詢庫、測試庫的區(qū)別生產(chǎn)庫、查詢庫和測試庫是Oracle數(shù)據(jù)庫中不同目的的數(shù)據(jù)庫環(huán)境。生產(chǎn)庫用于實(shí)際業(yè)務(wù)運(yùn)行,查詢...詳情>>

2023-10-13 22:08:17
Database CAN中的Update Bit是什么含義?

一、Database CAN中的Update Bit的含義在Controller Area Network (CAN) 數(shù)據(jù)庫中,Update Bit 是用于表示 CAN 數(shù)據(jù)幀的更新狀態(tài)的位。在 C詳情>>

2023-10-13 21:43:36
數(shù)據(jù)庫對于同一查詢,為什么每次查詢時間會不一樣?

一、數(shù)據(jù)庫對于同一查詢,每次查詢時間會不一樣的原因1、有內(nèi)部操作查詢語句中的內(nèi)部操作,例如排序、分組、連接等,也會影響查詢的執(zhí)行時間。2...詳情>>

2023-10-13 21:22:37
sql server怎么在存儲過程中模糊查詢?

一、sql server在存儲過程中實(shí)現(xiàn)模糊查詢的方法1、Wildcard操作符Wildcard操作符:Wildcard是SQL Server支持的最基本的模糊查詢操作符,可以使...詳情>>

2023-10-13 21:00:26
快速通道
主站蜘蛛池模板: 运城市| 浦北县| 徐闻县| 尉犁县| 阳高县| 万荣县| 禹州市| 郑州市| 正定县| 漳浦县| 安平县| 新乡县| 富阳市| 台湾省| 林周县| 澄迈县| 广安市| 临泉县| 清徐县| 福贡县| 富顺县| 星座| 清丰县| 任丘市| 伊川县| 满洲里市| 镇巴县| 抚顺市| 玉环县| 城固县| 通山县| 黄平县| 阜康市| 芦溪县| 昌都县| 大悟县| 保康县| 高安市| 上饶市| 浦东新区| 灵丘县|