sql update 日期减6个月_【干货】SQL基础快速入门
數(shù)據(jù)庫(kù)由數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)來操縱和管理,終端用戶通過dbms訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也是通過dbms進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。
數(shù)據(jù)庫(kù)管理系統(tǒng)管理數(shù)據(jù)庫(kù),包括創(chuàng)建數(shù)據(jù)庫(kù),修改數(shù)據(jù)庫(kù),查詢數(shù)據(jù),更改數(shù)據(jù)等等。
數(shù)據(jù)庫(kù)管理員維護(hù)數(shù)據(jù)庫(kù),不是直接操作,而是通過SQL語(yǔ)言來操作。其中客戶端通過書寫SQL語(yǔ)句調(diào)取數(shù)據(jù)庫(kù)的數(shù)據(jù),數(shù)據(jù)庫(kù)管理系統(tǒng)將取出的數(shù)據(jù)發(fā)送到客戶端。
了解了什么是SQL之后,再來看SQL有哪些特點(diǎn)?
特點(diǎn)1:SQL不是某個(gè)特定數(shù)據(jù)庫(kù)專有的語(yǔ)言。
也就是說,學(xué)習(xí)此語(yǔ)言幾乎能與所有數(shù)據(jù)庫(kù)打交道,無論是MY SQL,還是sql ?server,還是其它數(shù)據(jù)庫(kù)。
特點(diǎn)2:SQL語(yǔ)言簡(jiǎn)潔,易學(xué)易用
SQL功能極強(qiáng),完成核心功能只用了9個(gè)動(dòng)詞,可以看到,數(shù)據(jù)定義,數(shù)據(jù)查詢,數(shù)據(jù)操縱,數(shù)據(jù)控制,總共才9個(gè)描述性動(dòng)詞,全都是由描述性很強(qiáng)的英語(yǔ)單詞組成。但是這9個(gè)動(dòng)詞卻能完成SQL90%的功能。
特點(diǎn)3:可以進(jìn)行非常復(fù)雜和高級(jí)的數(shù)據(jù)庫(kù)操作。
SQL盡管看上去很簡(jiǎn)單,但它實(shí)際上是一種強(qiáng)有力的語(yǔ)言,靈活使用這些語(yǔ)言,可以進(jìn)行非常復(fù)雜和高級(jí)的數(shù)據(jù)庫(kù)操作。包括數(shù)據(jù)更新,子查詢,復(fù)雜查詢,分組統(tǒng)計(jì),多表查詢...
SQL語(yǔ)言的分類
SQL是用于訪問和處理數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)的計(jì)算機(jī)語(yǔ)言,SQL語(yǔ)言包含三部分:包括數(shù)據(jù)定義語(yǔ)言,數(shù)據(jù)操縱語(yǔ)言,數(shù)據(jù)控制語(yǔ)言。
【數(shù)據(jù)定義語(yǔ)言】主要用來創(chuàng)建數(shù)據(jù)庫(kù)中各種表,視圖,或者索引,它的操作對(duì)象是一張表或者一個(gè)視圖,不直接對(duì)表中的數(shù)據(jù)進(jìn)行操作。
【數(shù)據(jù)操作語(yǔ)言】主要用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,包括查詢,插入,修改數(shù)據(jù),也就是我們平時(shí)說的增刪改查它的操作對(duì)象是數(shù)據(jù)表中的某一行數(shù)據(jù)或者某幾行數(shù)據(jù)。
【數(shù)據(jù)控制語(yǔ)言】是用來授權(quán)或者回收權(quán)利的,并且能控制數(shù)據(jù)庫(kù)操縱發(fā)生的時(shí)間和效果,對(duì)數(shù)據(jù)庫(kù)實(shí)行監(jiān)視。
首先來看數(shù)據(jù)定義語(yǔ)言:DDL
它的操作語(yǔ)言包括表,視圖,索引。它針對(duì)的是數(shù)據(jù)的邏輯結(jié)構(gòu),不涉及具體的數(shù)據(jù)。數(shù)據(jù)定義語(yǔ)言常見的關(guān)鍵動(dòng)詞是creat 創(chuàng)建,drop,刪除,alter修改。
SQL的數(shù)據(jù)定義包括數(shù)據(jù)庫(kù)定義,表的定義,索引的定義和視圖的定義
這是SQL 中最重要的 DDL 語(yǔ)句
SQL語(yǔ)言還包括【數(shù)據(jù)操縱語(yǔ)言DML】
數(shù)據(jù)操縱語(yǔ)言的操作對(duì)象是表中的一行數(shù)據(jù)或者幾行數(shù)據(jù),它涉及的是具體的數(shù)字。數(shù)據(jù)操縱語(yǔ)言常用的關(guān)鍵動(dòng)詞有insert (插入),update(更新),delete(刪除)Select(查詢)。
簡(jiǎn)單來說,SQL的數(shù)據(jù)操縱語(yǔ)言包括增,刪,改,查四項(xiàng)功能,
其中,增,刪,改這三項(xiàng)都屬于對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作,查詢和更新指令共同構(gòu)成了SQL的DML部分。另外,SQL 主要是用于執(zhí)行查詢,或者說查詢是數(shù)據(jù)操作語(yǔ)言最常用的功能。
數(shù)據(jù)控制語(yǔ)言DCL
數(shù)據(jù)控制語(yǔ)言的操作對(duì)象是整個(gè)數(shù)據(jù)庫(kù),它主要的功能是權(quán)限管理。數(shù)據(jù)控制語(yǔ)言常用的關(guān)鍵動(dòng)詞有g(shù)rant ?,授權(quán),和revoke撤回這兩種。
權(quán)限是系統(tǒng)內(nèi)定的一些“名詞”(單詞),比如在mysql中,大約30個(gè)權(quán)限,每個(gè)權(quán)限表示“可以做什么工作”。
分配權(quán)限就是相當(dāng)于讓某個(gè)用戶可以做哪些工作。這些主要權(quán)限我們簡(jiǎn)單了解一下就可以了,因?yàn)閷?duì)權(quán)限的管理更多的是由數(shù)據(jù)庫(kù)管理員DBA來使用。
數(shù)據(jù)控制語(yǔ)言 (DCL)
包括:增加權(quán)限GRANT,撤回權(quán)限REVOKE,它是針對(duì)數(shù)據(jù)庫(kù)的操作。
SQL的這三類語(yǔ)言有哪些區(qū)別呢,我們?cè)賮砜偨Y(jié)一遍:
(1)DDL:數(shù)據(jù)定義語(yǔ)言
DDL主要用來定義表或者改變表結(jié)構(gòu),數(shù)據(jù)類型,表之間的鏈接和約束等初始化工作。常用的數(shù)據(jù)操作有CREATE,ALTER,DROP等,CREATE,可以創(chuàng)建數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)中的一些對(duì)象。ALTER,修改數(shù)據(jù)定義或?qū)傩?#xff0c;如字段的類型,大小等等。
DROP,刪除表結(jié)構(gòu)及數(shù)據(jù)屬性DDL的操作對(duì)象包括表,視圖索引等等。DDL主要是對(duì)表的屬性進(jìn)行約束,或者說他針對(duì)的是表格結(jié)構(gòu)的操作,不會(huì)對(duì)數(shù)據(jù)內(nèi)容進(jìn)行操作。
(2)DML:數(shù)據(jù)操作語(yǔ)言
包括增刪改查(INSERT,DELETE,UPDATE,SELECT),對(duì)數(shù)據(jù)進(jìn)行操作的語(yǔ)言。DML的操作單位是記錄(RECORD)。INSERT,即插入一條或多條記錄。DELETE,即刪除一條或者多條記錄。
UPDATE,即更新表中記錄的內(nèi)容。SQL 主要是用于執(zhí)行查詢,或者說查詢是數(shù)據(jù)操作語(yǔ)言最常用的功能.
(3)DCL:數(shù)據(jù)控制語(yǔ)言
常用的有GRANT,REVOKE,DENY等,用來控制數(shù)據(jù)庫(kù)用戶和角色的權(quán)限的語(yǔ)句。
GRANT,授權(quán);REVOKE,回收權(quán)限;
總結(jié):簡(jiǎn)單來說,DDL(data definition language)是對(duì)數(shù)據(jù)對(duì)象和對(duì)象屬性進(jìn)行操作的語(yǔ)言,它的操作會(huì)改變表結(jié)構(gòu),表類型等等數(shù)據(jù)屬性,但是不會(huì)改變數(shù)據(jù)內(nèi)容。DML(data manipulation language)是對(duì)數(shù)據(jù)內(nèi)容進(jìn)行操作的語(yǔ)言,它的最小操作單位是行;DCL(data control language)數(shù)據(jù)控制語(yǔ)言,用于限定數(shù)據(jù)庫(kù)用戶的權(quán)限。
剛才我們提到,SQL的數(shù)據(jù)操縱語(yǔ)言可以用增,刪,改,查四個(gè)字來概括,我們首先來了解下這4種操作的語(yǔ)法,
增指的是SQL 可在數(shù)據(jù)庫(kù)中插入新的記錄
比如使用insert關(guān)鍵詞插入單行數(shù)據(jù):它的語(yǔ)法是insert [into] [列名] values ,insert 在英文中是插入的意思,values在英文中是數(shù)值的意思。
例如,有一個(gè)學(xué)生表students,有3個(gè)字段,姓名,性別,出生日期,我們想在這張表中增加一行記錄,這行記錄的姓名是王偉華,性別是男,出生日期是1983/6/15,
Sql語(yǔ)句可以這樣寫:insert into Students (姓名,性別,出生日期) values ('王偉華','男','1983/6/15')
再比如:使用insert,select語(yǔ)句將現(xiàn)有表中的數(shù)據(jù)添加到已有的新表中。
具體語(yǔ)法是insert into ,select from ,這個(gè)語(yǔ)句可以理解為分成兩部,第一步select from ,它的意思是將原表的幾行數(shù)據(jù)選出來,第二步,insert into ,將選出的數(shù)據(jù)插入到新表中。比如這個(gè)案例insert into addressList ('姓名','地址','電子郵件')
select name,address,email from ?Students
它所表達(dá)的意思就是將學(xué)生表Students中的姓名,地址和電子郵箱查詢出來,然后插入到新表中,這個(gè)新表的表名是addressList,新表的字段有3個(gè),分別是 (中文的 '姓名','地址','電子郵件')。
刪指的是SQL 可從數(shù)據(jù)庫(kù)中刪除記錄
例1:比如下面這個(gè)案例就是使用delete刪除表中某行數(shù)據(jù)
它的語(yǔ)法是:delete from [where ] ,
它所表達(dá)的意思是先把符合刪除條件的行找出來,然后再表中刪除它。比如上面這個(gè)案例是delete from a where name=“王偉華”,它的意思是刪除表a中列值為王偉華的行)
需要大家注意的是:刪除整行不是刪除單個(gè)字段,包括我們所講的增刪改查,都是針對(duì)表中某一行數(shù)據(jù)或者幾行數(shù)據(jù),不是只刪除半行或只刪除幾個(gè)字段。
所以在delete后面不能出現(xiàn)字段名,比如我們想刪除王偉華,不能直接寫delete王偉華,應(yīng)該先把王偉華所在的行找出來,然后再刪除它。
數(shù)據(jù)操作語(yǔ)言第三種:【改】:指的是SQL 可更新修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)
例1 我們使用的update關(guān)鍵詞來更新修改數(shù)據(jù) ,
具體語(yǔ)法是update set [where ],它所表達(dá)的意思是首先把需要更新的行或者滿足更新條件的行選出來,然后重新設(shè)置它的列名。例如下面這個(gè)案例語(yǔ)法是update addressList set 年齡=18 where 姓名='王偉華'。它的意思是首先把姓名=王偉華的行選出來,然后修改它的年齡為18歲。
數(shù)據(jù)操作語(yǔ)言第四種查
【查】指的是SQL可查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù),我們使用的是select關(guān)鍵詞來查詢數(shù)據(jù)?
具體語(yǔ)法是select from
例如,SELECT ?city ?FROM students
(它所表達(dá)的意思是查詢學(xué)生表中學(xué)生所在的城市)
需要注意的一個(gè)重要事項(xiàng)是:
一定記住,在windows操作系統(tǒng)中,SQL 對(duì)大小寫不敏感!
也就是說sql對(duì)大寫和小寫不區(qū)分,無論是對(duì)關(guān)鍵字還是操作對(duì)象都不區(qū)分,執(zhí)行結(jié)果是一樣的,但是對(duì)引號(hào)內(nèi)的字符串大小寫會(huì)敏感,也就是說字符串這個(gè)不能隨意轉(zhuǎn)換大小寫,改是大寫就大寫,改小寫就小寫。
最后,推薦一門由我和愛數(shù)圈團(tuán)隊(duì)共同打磨的精品課【漫畫SQl】,這門課設(shè)計(jì)的通俗易懂,畫風(fēng)幽默,適合一些沒什么學(xué)歷,又不愛學(xué)習(xí)的朋友,哈哈
部分學(xué)員評(píng)價(jià):
最后隆重介紹下:
掃碼加入吧
總結(jié)
以上是生活随笔為你收集整理的sql update 日期减6个月_【干货】SQL基础快速入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql性能分析工具profiling
- 下一篇: 没有mssqlserver的协议_Loa