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