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

SQLite - CREATE Table

你好,未來的資料庫大師!今天,我們將要深入SQLite的神奇世界,學習如何創建資料表。不僅僅是寫一行代碼,我會成為你這次興奮旅程中的友好導遊。所以,來一杯咖啡(或者茶,如果你喜歡的話),我們開始吧!

SQLite是什麼?

在我們跳入創建資料表的步驟之前,讓我們先快速了解一下SQLite是什麼。想像SQLite是一個微小、便携的庫,它能夠為你的應用程序存儲和管理數據。這就像是你口袋裡的一個迷迷你型文件櫃!

SQLite對初學者來說非常適合,因為它很容易設定,並且不需要獨立的伺服器進程。它在移動應用程序、桌面應用程序,甚至一些網站中都得到了廣泛應用。所以,學習SQLite就像學習一種超能力,你可以在許多不同的情況中使用!

了解SQLite中的資料表

現在,讓我們來谈谈資料表。在數據庫的世界中,資料表就像電子表格。它們幫助我們將數據組織成行和列。每一列代表一種特定類型的信息(如名稱、年齡或最喜歡的顏色),每一行代表一個單一的條目或記錄。

例如,想像我們正在為一家寵物店創建數據庫。我們可能會有一個名為"Pets"的資料表,其中包含寵物的名稱、種類、年齡和主人的名稱等列。每一行會代表商店中的不同寵物。

在SQLite中創建資料表

好了,現在我們已經了解了什麼是資料表,讓我們學習如何在SQLite中創建它們!

語法

在SQLite中創建資料表的基本語法如下:

CREATE TABLE table_name (
   column1 datatype,
   column2 datatype,
   column3 datatype,
   ...
);

別讓這個嚇到你!其實它比看起來要簡單。讓我們分解一下:

  1. CREATE TABLE:這是我們告訴SQLite我們想要創建一個新資料表的方式。
  2. table_name:這是你想要給你的資料表命名的位置。
  3. 在括號內,我們列出我們的列。對於每一列,我們指定:
    • 列名
    • 數據類型(如TEXT表示文字,INTEGER表示整數等)

我們用逗號分隔每個列定義,除了最後一個。

示例:創建一個Pets資料表

讓我們創建我們之前提到的寵物店資料表。以下是如何操作的:

CREATE TABLE Pets (
   id INTEGER PRIMARY KEY,
   name TEXT NOT NULL,
   species TEXT NOT NULL,
   age INTEGER,
   owner_name TEXT
);

現在,讓我們分解這個並看看每一部分是什麼作用:

  1. id INTEGER PRIMARY KEY:這為每個寵物創建了一個唯一標識符。PRIMARY KEY部分意味著這個ID對每個條目都是唯一的。

  2. name TEXT NOT NULL:這創建了一個寵物名稱的列。TEXT表示它可以包含文字和數字。NOT NULL表示這個字段不能留空。

  3. species TEXT NOT NULL:與名稱列類似,這將存儲寵物的種類。

  4. age INTEGER:這個列將存儲寵物的年齡。INTEGER表示它只會接受整數。

  5. 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表鏈接到我們之前創建的UsersProducts表。

常見SQLite數據類型

以下是你經常會使用的一些常見SQLite數據類型:

數據類型 描述
INTEGER 整數
REAL 小數
TEXT 文字字符串
BLOB 二进制数据(如图片)
NULL 空值

記住,SQLite對數據類型非常灵活。它通常會自動嘗試將數據轉換為適當的類型。

結論

恭喜你!你已經邁出了進入SQLite數據庫創建的第一个步驟。我們已經介紹了創建資料表的基礎,從簡單結構到帶有預設值、唯一約束和外鍵的更複雜結構。

記住,創建好的數據庫結構就像用樂高積木建造一樣。從簡單開始,隨著你變得越來越熟悉,你可以創建更複雜和相互連接的結構。關鍵是實踐和耐心。

在你繼續你的旅程時,不要害怕嘗試。嘗試為不同的情景創建表——也許是一個圖書館目錄、一個食譜冊,或者甚至是追蹤你喜歡電影的數據庫。你實踐得越多,它就越自然。

並且永遠記住:每個專家都曾是初學者。繼續學習,繼續編程,在你知道之前,你將能夠輕鬆地創建複雜的數據庫!

祝編程愉快,未來的數據庫大師!

Credits: Image by storyset