sql游標小記

2021-07-27 03:53:18 字數 1084 閱讀 5020

游標優點:

游標允許應用程式對查詢語句select 返回的行結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作;

它還提供對基於游標位置而對錶中資料進行刪除或更新的能力

缺點: 處理大資料量時,效率低下,占用記憶體大

一般來說,能使用其他方式處理資料時,最好不要使用游標,除非是當你使用while迴圈,子查詢,臨時表,表變數,自建函式或其他方式都無法處理某種操作的時候,

再考慮使用游標,游標的乙個常見用途就是儲存查詢結果,以便以後使用。游標的結果集是由select語句產生,如果處理過程需要重複使用乙個記錄集,

那麼建立一次游標而重複使用若干次,比重複查詢資料庫要快的多。

游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。游標充當指標的作用。儘管游標能遍歷結果中的所有行,但他一次只指向一行。

概括來講,sql的游標是一種臨時的資料庫物件,即可以用來存放在資料庫表中的資料行副本,也可以指向儲存在資料庫中的資料行的指標。

游標提供了在逐行的基礎上操作表中資料的方法。

關聯式資料庫中的操作會對整個行集起作用。 例如,由 select 語句返回的行集包括滿足該語句的 where 子句中條件的所有行。 這種由語句返回的完整行集稱為結果集。

應用程式,特別是互動式聯機應用程式,並不總能將整個結果集作為乙個單元來有效地處理。 這些應用程式需要一種機制以便每次處理一行或一部分行。

游標就是提供這種機制的對結果集的一種擴充套件。游標通過以下方式來擴充套件結果處理:

2    基本用法:

2.1 宣告游標

declare 游標名 cursor

for select語句

2.2 開啟游標

open 游標名

2.3 從游標獲取資料

fetch next from 游標名 [ into fetch_list ]

2.4 關閉游標

close 游標名

關閉後不能對游標進行讀取等操作,但可以使用open語句再次開啟

2.5 釋放游標

deallocate 游標名

即刪除游標,不可再使用

sql查詢小記

1 在mysql中判斷某個字段是否為空需要使用is null 或者 is not null 在mysql5.2.7中測試通過。例子1 select from test where code is null 例子2 select from test where code is not null 2 s...

sql連線小記

1.select from t1,t2 這個查詢將會產生笛卡爾積的結果,如果有where子句的話也會先產生一張笛卡爾積的表然後再篩選結果 2.select from t1 inner join t2 on t1.id t2.id 這個查詢會將兩張表都有匹配項才有結果產生 3.select from ...

SQL函式小記

寫一篇筆記,記錄一下常見的sql函式,以備之後的查詢需要。abs num 絕對值函式 mod 被除數,除數 求餘函式 round num,保留小數的位數 四捨五入函式concat str1,str2 拼接字串函式 length str 字串長度 lower str upper str 小 大寫函式 ...