15、sql编程基本语法介绍
使用sql也可以像java一樣進(jìn)行程序編寫,說(shuō)到編程,就離不開變量和流程控制,接下來(lái)介紹一下
變量
sql中的變量可分為系統(tǒng)變量和自定義變量
| 系統(tǒng)變量 | 用于控制服務(wù)器表現(xiàn)的變量 |
| 查看所有系統(tǒng)變量 | show?global? variables [like '%關(guān)鍵字%']; -- 查看全局變量 |
| show session variables [like '%關(guān)鍵字%']; -- 查看會(huì)話變量 | |
| 查看具體變量值 | select @@變量名 |
| 修改全局級(jí)別變量 | set global 變量名 = 值; |
| 修改會(huì)話級(jí)別變量 | set 變量名 = 值;或者 set @@變量名 = 值 |
| 自定義變量 | 會(huì)話變量 | 相當(dāng)于一個(gè)自定義的全局變量,可以在存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器之外或之內(nèi)使用 |
| 普通變量 | 相當(dāng)于一個(gè)局部變量,只能在在存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器中使用 |
| 會(huì)話變量 | 可以在存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器之外或之內(nèi)使用 | ||
| 定義 | set @變量名 = 值 或者 set @變量名 := 值? ? (建議使用:= ,myslq中=有的時(shí)候表示比較) 另外就是會(huì)話變量名都必須以@開頭 | ||
| 實(shí)例 | 直接賦值 | set @v_name =? 'chaizpeng'; -- 查看變量值 select 變量名 | |
| 查詢賦值 | -- 邊查詢邊賦值,變量值是最后一條記錄的值 select @czp_name := name from user; | ||
| -- 必須只返回一條記錄 select name from user where id = 4 into @czp_name; | |||
| 普通變量 | 相當(dāng)于局部變量,只能在存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器中使用 |
| 定義 | -- 和創(chuàng)建表時(shí)聲明每一個(gè)字段格式差不多 declare 變量名 類型? |
| 實(shí)例 | 這里先不寫實(shí)例,因?yàn)榇鎯?chǔ)過(guò)程或者函數(shù)還沒(méi)有說(shuō),后續(xù)在函數(shù)或者過(guò)程的實(shí)例中會(huì)有體現(xiàn) |
上邊對(duì)變量做了詳細(xì)的描述,接下來(lái)說(shuō)一下流程控制,sql編程中的流程控制和java一樣,有3種,分別是順序流程、循環(huán)流程、條件流程。接下來(lái)詳細(xì)說(shuō)一下(順序流程不介紹)
條件流程(分支結(jié)構(gòu))
sql中實(shí)現(xiàn)分支結(jié)構(gòu)的方式有:if結(jié)構(gòu)、case結(jié)構(gòu)
| if結(jié)構(gòu) | 條件判斷,類似于java中的if判斷 |
| 語(yǔ)法 | -- 語(yǔ)句以if開頭,end if; 結(jié)尾? -- 判斷完條件,要是用then來(lái)表示要執(zhí)行符合條件的代碼 if? 判斷條件 then 執(zhí)行代碼 elseif 判斷條件 then 執(zhí)行代碼 else 執(zhí)行代碼 end if; |
| case結(jié)構(gòu) | 條件判斷,類似于java中的case判斷 |
| 語(yǔ)法 | case 變量 when 值 then 滿足條件代碼; when 值 then 滿足條件代碼; else 其他代碼; end; |
?循環(huán)流程(循環(huán)結(jié)構(gòu))
sql中實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的方式有:loop循環(huán)、while循環(huán)、repeat循環(huán)
| loop循環(huán) | 循環(huán)控制,一般使用條件來(lái)結(jié)束循環(huán) |
| 語(yǔ)法 | 標(biāo)簽名:loop 循環(huán)執(zhí)行的代碼 if 條件 then end if; |
| while循環(huán) | sql只有while..do結(jié)構(gòu) |
| 語(yǔ)法 | while 條件 do ? ? ?循環(huán)執(zhí)行的代碼 end while; |
| repeat循環(huán) | ? |
| 語(yǔ)法 | repeat ? ?? ?循環(huán)執(zhí)行的代碼 until 條件 end repeat; |
?在這里只介紹一下語(yǔ)法的使用,不給出使用的實(shí)例,因?yàn)闆](méi)有什么意義,之后會(huì)在存儲(chǔ)過(guò)程或者函數(shù)中給出實(shí)例
總結(jié)
以上是生活随笔為你收集整理的15、sql编程基本语法介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑配置代码命令行(电脑 配置代码)
- 下一篇: 18、数据的备份和还原