SQLite - 實用函數
歡迎,有志成為程序員的你!今天,我們將深入SQLite的世界,並探索其中一些最實用的函數。作為你們親切友善的鄰居計算機老師,我將帶領你們透過大量的範例和解釋來了解這些概念。所以,拿起你的虛擬筆記本,我們開始吧!
SQLite COUNT 函數
COUNT函數就像是你數據庫中的勤奮會計。它計算符合特定條件的行數。假設你正在管理一個圖書館數據庫,並想知道你有多少本書。
SELECT COUNT(*) FROM books;
這個查詢將返回你圖書館中的總書數。簡單吧?但如果你只想計算科幻小說的書數呢?
SELECT COUNT(*) FROM books WHERE genre = 'Science Fiction';
現在你是帶著目的計數!這個查詢將給你收藏中科幻小說的數量。
SQLite MAX 函數
MAX就像在人群中找到最高的人。它返回一組值中的最高值。我們來找找圖書館中最貴的書:
SELECT MAX(price) FROM books;
這個查詢將返回所有書籍中最高的價格。你也可以用它來對字符串進行操作,找到字母順序上“最後”的項目:
SELECT MAX(title) FROM books;
這將給你字母順序上最後的書名。
SQLite MIN 函數
MIN是MAX的反面。它就像在人群中找到最矮的人。我們來找找最便宜的書:
SELECT MIN(price) FROM books;
和MAX一樣,你也可以對字符串使用它來找到字母順序上“第一”的項目:
SELECT MIN(title) FROM books;
SQLite AVG 函數
AVG就像你親切友善的平均值計算器。它計算一組數字的平均值。我們來找找所有書的平均價格:
SELECT AVG(price) FROM books;
這個查詢將給你圖書館中所有書的平均價格。你也可以對特定類別使用它:
SELECT AVG(price) FROM books WHERE genre = 'Mystery';
現在你知道了推理小說的平均價格!
SQLite SUM 函數
SUM就像你數據庫中的現金註冊機。它加起一組中的所有值。我們來計算圖書館中所有書的總價值:
SELECT SUM(price) FROM books;
這個查詢將給你書籍收藏的總價值。你也可以對特定條件求和:
SELECT SUM(price) FROM books WHERE author = 'J.K. Rowling';
現在你知道圖書館中所有J.K. Rowling書籍的總價值!
SQLite RANDOM 函數
RANDOM是一個有趣的、不可預測的函數,它為你的查詢添加了一絲機遇。它返回一個在-9223372036854775808到+9223372036854775807之間的隨機值。我們用它來隨機選擇一本書:
SELECT * FROM books ORDER BY RANDOM() LIMIT 1;
這個查詢將從你的圖書館中給你一本隨機的書。這就像一個數字“今日之書”選擇器!
SQLite ABS 函數
ABS是數學世界中的和平維護者。它返回一個數字的絕對值(正數)。假設你有一個“price_difference”列,顯示每本書價格的變化:
SELECT title, ABS(price_difference) FROM books;
這個查詢將向你展示價格變化的範圍,無論它們是上升還是下降。
SQLite UPPER 函數
UPPER就像你那個喜歡全大寫的朋友。它將字符串轉換為全部大寫字母。我們來大聲說出所有的書名:
SELECT UPPER(title) FROM books;
這將返回所有書名的大寫形式。對於強調或標準化很有用!
SQLite LOWER 函數
LOWER是UPPER的平和對應。它將字符串轉換為全部小寫字母。我們來小聲說出所有的作者名:
SELECT LOWER(author) FROM books;
這將返回所有作者名的小寫形式。對於不区分大小寫的比較或數據清洗很有用。
SQLite LENGTH 函數
LENGTH是字符串世界的尺子。它返回字符串中的字符數。我們來找出哪本書的標題最長:
SELECT title, LENGTH(title) AS title_length FROM books ORDER BY title_length DESC LIMIT 1;
這個查詢將返回標題最長的書及其字符數。
SQLite sqlite_version 函數
最後,sqlite_version就像檢查你的SQLite教科書版本。它返回你正在使用的SQLite版本:
SELECT sqlite_version();
這將告訴你正在使用哪個版本的SQLite,這對於兼容性和功能可用性很重要。
這裡有一個方便的表格,總結了所有這些函數:
函數 | 用途 | 範例 |
---|---|---|
COUNT | 計算行數 | SELECT COUNT(*) FROM books; |
MAX | 找到最大值 | SELECT MAX(price) FROM books; |
MIN | 找到最小值 | SELECT MIN(price) FROM books; |
AVG | 計算平均值 | SELECT AVG(price) FROM books; |
SUM | 總計值 | SELECT SUM(price) FROM books; |
RANDOM | 生成隨機值 | SELECT * FROM books ORDER BY RANDOM() LIMIT 1; |
ABS | 返回絕對值 | SELECT ABS(price_difference) FROM books; |
UPPER | 轉換為大寫 | SELECT UPPER(title) FROM books; |
LOWER | 轉換為小寫 | SELECT LOWER(author) FROM books; |
LENGTH | 計算字符串字符 | SELECT LENGTH(title) FROM books; |
sqlite_version | 返回SQLite版本 | SELECT sqlite_version(); |
那麼,各位!這些SQLite函數就像是數據庫查詢的瑞士軍刀。它們自己可能看起來很簡單,但創造性地將它們組合起來,你會驚訝於你能夠完成的事情。記住,熟能生巧,所以不要害怕在的你自己的數據庫專案中嘗試這些函數。祝你查詢愉快!
Credits: Image by storyset