SQLite - 語法:初學者指南

你好,未來的數據庫大師!今天,我們將踏上一段令人興奮的旅程,探索 SQLite 語法的世界。別擔心如果你之前從未寫過一行代碼——我將成為你的友好導遊,到了這個教學的結尾,你將能像專業人士一樣使用 SQLite!

SQLite - Syntax

SQLite 語法介紹

在我們深入之前,讓我們將 SQLite 想像成我們用來與數據庫溝通的神奇語言。正如任何語言一樣,它有自己的規則和結構。但別擔心,它比精靈語或克林貢語容易學得多!

大小寫敏感性

現在,讓我們來談談讓許多初學者絆腳的事情:大小寫敏感性。在 SQLite 中,關鍵字和函數名稱是不區分大小寫的。這意味著無論你寫 SELECT、select 還是 SeLeCt,SQLite 都會理解你。

然而,這很重要,當你使用雙引號時,表和列名是區分大小寫的。讓我們看一些例子:

SELECT * FROM Users;  -- 這個可以工作
select * from Users;  -- 這個也可以工作
SELECT * FROM "Users";  -- 這個可以工作且是區分大小寫的
SELECT * FROM "users";  -- 這個與 "Users" 不同

在前兩個例子中,SQLite 不關心 SELECT 或 FROM 的大小寫。在最後兩個例子中,"Users" 和 "users" 被視為不同的表,因為它們在雙引號中。

專業提示:雖然 SQLite 允許這種靈活性,但養成一致使用大小寫的習慣是好的。我總是將我的關鍵字寫成大寫,將我的表/列名寫成小寫。這讓代碼更容易閱讀,特別是你凌晨 2 點喝著咖啡調試代碼時!

註釋

註釋就像我們留給自己或其他程序員的小筆記。它們被 SQLite 忽略,但對於閱讀代碼的人來說可能非常有用。SQLite 有兩種類型的註釋:

  1. 單行註釋:這些以兩個連字符(--)開始,並持續到行尾。
  2. 多行註釋:這些以 / 開始,並以 / 結束。

讓我們看一些例子:

-- 這是一個單行註釋
SELECT * FROM users; -- 我們也可以在行尾放置註釋

/* 這是一個多行註釋
它可以跨多行
對於長篇說明非常有用 */
SELECT name, age
FROM users
WHERE age > 18;

我曾經有一個學生認為註釋是浪費時間。幾週後,他回到他的代碼,卻記不起它做了什麼。現在他宗教般地註釋!

SQLite 說明

現在,讓我們來看看 SQLite 的重點:說明。這些是我們給數據庫以執行操作的指示。以下是一些最常見的 SQLite 說明:

說明 描述
SELECT 從數據庫中檢索數據
INSERT 將新數據添加到表中
UPDATE 修改表中現有的數據
DELETE 從表中刪除數據
CREATE TABLE 創建一個新表
ALTER TABLE 修改現有的表
DROP TABLE 刪除一個表
CREATE INDEX 創建一個索引(搜索鍵)
DROP INDEX 刪除一個索引

讓我們看看這些說明的一些實際例子:

SELECT 說明

SELECT name, age FROM users WHERE age > 18 ORDER BY name;

這個說明表示:"給我所有年齡超過 18 歲的用戶的姓名和年齡,並按姓名字母順序排序。" 這就像請求你的數據庫成為你的個人助理!

INSERT 說明

INSERT INTO users (name, age, email) VALUES ('Alice', 25, '[email protected]');

這就像向你們的數據庫介紹一位新朋友。我們將 Alice,25 歲,添加到用戶表中。

UPDATE 說明

UPDATE users SET age = 26 WHERE name = 'Alice';

哎呀!Alice 還有一個生日。這個說明更新我們數據庫中的她的年齡。

DELETE 說明

DELETE FROM users WHERE name = 'Bob';

可憐的 Bob 選擇離開我們的應用程序。這個說明將他從我們的用戶表中刪除。

CREATE TABLE 說明

CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price REAL
);

這就像為我們的產品設置一個新的文件櫃。我們創建一個具有 id、name 和 price 列的表。

記住,SQLite 中的每個說明都以分號(;)結尾。這就像在無線電對話中說 "over" ——它表示你已完成那個指示。

結論

恭喜你!你剛剛踏入了 SQLite 語法的世界。我們已經介紹了大小寫敏感性、註釋和一些最常見的 SQLite 說明。記住,學習一種新的語言——即使是編程語言——需要時間和練習。如果它立即不會點亮,不要氣餒。

在我多年的教學中,我見過無數學生從完全的初學者變成 SQLite 的專家。關鍵是堅持和大量的實踐。所以,去吧,打開那個 SQLite 控制台,開始實驗你今天學到的東西。在你意識到之前,你將會在睡夢中查詢數據庫!

下次,我們將深入更多進階的 SQLite 概念。在那之前,快樂編程,願你的查詢總是返回你期望的結果!

Credits: Image by storyset