!SQLite - 創建資料表:初學者指南

你好,未來的資料庫大師!今天,我們將要深入SQLite的神奇世界,學習如何創建資料表。不僅僅是寫一行代碼,我會成為你這次興奮旅程中的友好導遊。所以,來一杯咖啡(或者茶,如果你喜歡的話),我們開始吧!
SQLite是什麼?
在我們跳入創建資料表的步驟之前,讓我們先快速了解一下SQLite是什麼。想像SQLite是一個微小、便携的庫,它能夠為你的應用程序存儲和管理數據。這就像是你口袋裡的一個迷迷你型文件櫃!
SQLite對初學者來說非常適合,因為它很容易設定,並且不需要獨立的伺服器進程。它在移動應用程序、桌面應用程序,甚至一些網站中都得到了廣泛應用。所以,學習SQLite就像學習一種超能力,你可以在許多不同的情況中使用!
了解SQLite中的資料表
現在,讓我們來谈谈資料表。在數據庫的世界中,資料表就像電子表格。它們幫助我們將數據組織成行和列。每一列代表一種特定類型的信息(如名稱、年齡或最喜歡的顏色),每一行代表一個單一的條目或記錄。
例如,想像我們正在為一家寵物店創建數據庫。我們可能會有一個名為"Pets"的資料表,其中包含寵物的名稱、種類、年齡和主人的名稱等列。每一行會代表商店中的不同寵物。
在SQLite中創建資料表
好了,現在我們已經了解了什麼是資料表,讓我們學習如何在SQLite中創建它們!
語法
在SQLite中創建資料表的基本語法如下:
CREATE TABLE table_name (
   column1 datatype,
   column2 datatype,
   column3 datatype,
   ...
);
別讓這個嚇到你!其實它比看起來要簡單。讓我們分解一下:
- 
CREATE TABLE:這是我們告訴SQLite我們想要創建一個新資料表的方式。 - 
table_name:這是你想要給你的資料表命名的位置。 - 在括號內,我們列出我們的列。對於每一列,我們指定:
- 列名
 - 數據類型(如TEXT表示文字,INTEGER表示整數等)
 
 
我們用逗號分隔每個列定義,除了最後一個。
示例:創建一個Pets資料表
讓我們創建我們之前提到的寵物店資料表。以下是如何操作的:
CREATE TABLE Pets (
   id INTEGER PRIMARY KEY,
   name TEXT NOT NULL,
   species TEXT NOT NULL,
   age INTEGER,
   owner_name TEXT
);
現在,讓我們分解這個並看看每一部分是什麼作用:
- 
id INTEGER PRIMARY KEY:這為每個寵物創建了一個唯一標識符。PRIMARY KEY部分意味著這個ID對每個條目都是唯一的。 - 
name TEXT NOT NULL:這創建了一個寵物名稱的列。TEXT表示它可以包含文字和數字。NOT NULL表示這個字段不能留空。 - 
species TEXT NOT NULL:與名稱列類似,這將存儲寵物的種類。 - 
age INTEGER:這個列將存儲寵物的年齡。INTEGER表示它只會接受整數。 - 
owner_name TEXT:這將存儲寵物主人的名稱。我們這裡沒有用NOT NULL,因為有些寵物可能還沒有主人。 
高級資料表創建技巧
現在你已經掌握了基礎,讓我們看看一些在創建資料表時可以使用的高級功能。
預設值
有時候,你希望一個列在未指定值時具有預設值。以下是如何做到這點的:
CREATE TABLE Products (
   id INTEGER PRIMARY KEY,
   name TEXT NOT NULL,
   price REAL NOT NULL,
   in_stock INTEGER DEFAULT 0
);
在這個例子中,如果我們在添加新產品時未指定in_stock的值,它將自動設置為0。
唯一約束
如果你想要確保列中的某些值始終是唯一的,你可以使用UNIQUE關鍵字:
CREATE TABLE Users (
   id INTEGER PRIMARY KEY,
   username TEXT NOT NULL UNIQUE,
   email TEXT NOT NULL UNIQUE,
   password TEXT NOT NULL
);
這樣可以確保沒有兩個用戶可以擁有相同的用戶名或電子郵件地址。
外鍵
外鍵是一種在不同表之間鏈接數據的方式。以下是一個示例:
CREATE TABLE Orders (
   id INTEGER PRIMARY KEY,
   user_id INTEGER,
   product_id INTEGER,
   quantity INTEGER NOT NULL,
   FOREIGN KEY (user_id) REFERENCES Users(id),
   FOREIGN KEY (product_id) REFERENCES Products(id)
);
這個Orders表鏈接到我們之前創建的Users和Products表。
常見SQLite數據類型
以下是你經常會使用的一些常見SQLite數據類型:
| 數據類型 | 描述 | 
|---|---|
| INTEGER | 整數 | 
| REAL | 小數 | 
| TEXT | 文字字符串 | 
| BLOB | 二进制数据(如图片) | 
| NULL | 空值 | 
記住,SQLite對數據類型非常灵活。它通常會自動嘗試將數據轉換為適當的類型。
結論
恭喜你!你已經邁出了進入SQLite數據庫創建的第一个步驟。我們已經介紹了創建資料表的基礎,從簡單結構到帶有預設值、唯一約束和外鍵的更複雜結構。
記住,創建好的數據庫結構就像用樂高積木建造一樣。從簡單開始,隨著你變得越來越熟悉,你可以創建更複雜和相互連接的結構。關鍵是實踐和耐心。
在你繼續你的旅程時,不要害怕嘗試。嘗試為不同的情景創建表——也許是一個圖書館目錄、一個食譜冊,或者甚至是追蹤你喜歡電影的數據庫。你實踐得越多,它就越自然。
並且永遠記住:每個專家都曾是初學者。繼續學習,繼續編程,在你知道之前,你將能夠輕鬆地創建複雜的數據庫!
祝編程愉快,未來的數據庫大師!
Credits: Image by storyset
