SQL - 資料類型:初學者指南

你好,未來的數據庫大師!今天,我們將踏上一段令人興奮的旅程,進入 SQL 資料類型的世界。別擔心如果你之前從未寫過一行代碼——我將成為你的友好導遊,我們會一步步來。在這個教學結束時,你將會對你所學到的知識感到驚奇。那麼,讓我們開始吧!

SQL - Data Types

SQL 資料類型是什麼?

想像你正在籌備一個大型派對。你需要記錄各種事情:賓客人數(一個整數)、食物成本(一個帶有小數點的數字)、派對日期(一個日期)和主題(文本)。在 SQL 中,資料類型就像這些類別一樣——它們幫助我們有效地組織和存儲不同類型的信息。

SQL 資料類型是定義數據庫列中可以存儲什麼類型數據的建築塊。它們確保正確的數據被放入正確的位置,就像你不會把派對日期放在賓客人數應該去的地方一樣!

定義資料類型

當我們在 SQL 中創建一個表時,我們需要為每個列指定資料類型。這裡有一個簡單的例子:

CREATE TABLE Party (
guest_count INT,
food_cost DECIMAL(10,2),
party_date DATE,
theme VARCHAR(50)
);

在這個例子中:

  • guest_count 是一個整數(整數)
  • food_cost 是一個小數,最多有 10 個數字,其中 2 個在小數點之後
  • party_date 是一個日期
  • theme 是一個可變長度的字符串,最多可以存儲 50 個字符

SQL 資料類型的類別

現在,讓我們探討 SQL 資料類型的主要類別。把這些當作所有特定資料類型屬於的大家族。

1. 數字資料類型

這些用於存儲數字。記得上數學課嗎?這就像那樣,但在 SQL 中!

整數類型

對於整數:

CREATE TABLE NumberGame (
small_number TINYINT,
medium_number INT,
big_number BIGINT
);
  • TINYINT:對於小數(通常是 -128 到 127)
  • INT:對於中等大小的數字(約 -20 億到 20 億)
  • BIGINT:對於非常大的數字

小數類型

對於帶有小數點的數字:

CREATE TABLE PreciseData (
price DECIMAL(10,2),
scientific_value FLOAT,
another_value DOUBLE
);
  • DECIMAL(10,2):精確的小數(在這個例子中,最多 10 個數字,其中有 2 個在小數點之後)
  • FLOATDOUBLE:對於科學計算,當極端精確度不是必需時

2. 字符串資料類型

這些用於存儲文本。把它們當作詞語和句子的容器。

CREATE TABLE TextInfo (
short_text CHAR(10),
variable_text VARCHAR(100),
long_story TEXT
);
  • CHAR(10):固定長度的字符串(始終為 10 個字符)
  • VARCHAR(100):可變長度的字符串(最多 100 個字符)
  • TEXT:對於較長的文本片段,如段落

3. 日期和時間資料類型

用於存儲日期和時間!

CREATE TABLE TimeTracker (
today DATE,
right_now TIME,
precise_moment DATETIME
);
  • DATE:存儲日期(YYYY-MM-DD)
  • TIME:存儲時間(HH:MM:SS)
  • DATETIME:存儲日期和時間

4. 布爾資料類型

用於存儲真/假值。就像問一個是或否的問題!

CREATE TABLE SimpleFacts (
is_fun BOOLEAN
);
  • BOOLEAN:存儲 TRUE 或 FALSE

5. 二進制資料類型

用於存儲二進制數據,如圖像或文件。

CREATE TABLE MediaFiles (
profile_picture BLOB
);
  • BLOB:二進制大對象,用於存儲大型二進制數據

MySQL、SQL Server、Oracle 和 MS Access 數據庫中的資料類型

不同的數據庫系統可能對這些資料類型有略微不同的名稱或變體。我們來看看一個對比:

資料類型 MySQL SQL Server Oracle MS Access
整數 INT INT NUMBER INTEGER
小數 DECIMAL DECIMAL NUMBER DECIMAL
可變長度字符串 VARCHAR VARCHAR VARCHAR2 TEXT
日期 DATE DATE DATE DATE/TIME
布爾 BOOLEAN BIT NUMBER(1) YES/NO
大文本 TEXT TEXT CLOB MEMO
二進制 BLOB VARBINARY BLOB OLE OBJECT

記住,雖然概念是相同的,但確切的語法可能在不同的數據庫系統之間略有變化。這就像不同的語言可能對同一件事有不同的詞一樣!

結論

恭喜你!你剛剛邁出了進入 SQL 資料類型世界的第一步。我們已經介紹了資料類型的基礎知識,如何定義它們,並探討了主要的類別。我們甚至窺探了不同數據庫系統如何處理這些類型。

記住,選擇正確的資料類型是關鍵的。這就像在廚房裡為不同的物品挑選正確的容器一樣——你不會把湯放在胡椒瓶子裡,對吧?同樣地,使用適當的資料類型可以確保你的數據庫高效,並且數據正確存儲。

隨著你繼續你的 SQL 旅程,你將會對這些類型更加熟悉,並學會在何時使用每一個。不要害怕嘗試——我們都是這樣學習的!而且誰知道呢?也許有一天你會設計一個社交媒體平台或革命性應用程序的數據庫。可能性是無窮的!

繼續練習,保持好奇心,並且快樂編程!

Credits: Image by storyset