MySQL - 文字常數

您好,未來的資料庫魔法師!今天,我們將踏上一段令人興奮的旅程,探索 MySQL 文字常數的世間。別擔心您對編程還是新手;我會成為您親切導遊,一步一步地解釋所有內容。所以,來一杯咖啡,我們一起深入探討!

MySQL - Literals

文字常數是什麼?

在我們開始之前,讓我們先了解一下文字常數是什麼。在編程中,文字常數是您可以直接在代碼中使用的固定值。它們就像數據庫查詢的積木。把它們想像成烹飪時使用的食材——它們是讓您的菜餚(或者在我們的例子中,您的查詢)變得有生氣的原料。

數字文字常數

讓我們從熟悉的東西開始——數字!在 MySQL 中,您可以使用各種類型的數字文字常數。

整數文字常數

這些是像計數蘋果或美元那樣的整數。

SELECT 42;
SELECT -17;

在這些例子中,42 和 -17 是整數文字常數。MySQL 將簡單地返回這些值。

遠算文字常數

這些是帶有小數點的數字,當您需要更精確的時候非常合適。

SELECT 3.14159;
SELECT -2.5;

在這裡,3.14159(圓周率,有人想要嗎?)和 -2.5 是遠算文字常數。MySQL 可以輕鬆地處理這些,並保持它們的小數精度。

科學記數法

對於非常大或非常小的數字,我們使用科學記數法。

SELECT 1.23E-10;
SELECT 5E3;

1.23E-10 等同於 0.000000000123,而 5E3 和 5000 相同。對於那些極端值來說非常方便!

字串文字常數

字串是字符序列——想想詞語、句子或甚至是段落。

單引號字串

SELECT 'Hello, World!';
SELECT 'I''m learning MySQL';

第一個例子很直接。在第二個中,注意我們如何使用兩個單引號來表示字串中的單引號。

雙引號字串

SELECT "MySQL is fun!";
SELECT "She said, "Hello!"";

雙引號的工作方式與單引號相似。當您的字串中含有單引號時,它們特別有用。

轉義序列

有時,我們需要在字串中包含特殊字符:

SELECT 'Line 1\nLine 2';
SELECT 'Tab\tSpace';

在這裡,\n 表示換行,而 \t 表示制表符。這些被稱為轉義序列。

布林文字常數

布林值很簡單——它們要么是 true,要么是 false。在 MySQL 中,我們這樣表示它們:

SELECT TRUE, FALSE;

MySQL 實際上將這些視為 1(對於 TRUE)和 0(對於 FALSE)。

日期和時間文字常數

在許多應用程序中處理日期和時間是至关重要的。MySQL 提供了多種格式:

日期文字常數

SELECT DATE '2023-06-15';
SELECT '2023-06-15';

這兩個都代表同一天。DATE 關鍵字是可選的,但可以提高可讀性。

時間文字常數

SELECT TIME '14:30:00';
SELECT '14:30:00';

同樣,TIME 關鍵字是可選的,但建議使用以提高清晰度。

日期時間文字常數

SELECT TIMESTAMP '2023-06-15 14:30:00';
SELECT '2023-06-15 14:30:00';

這些同時代表日期和時間。

NULL 文字常數

NULL 是一個特殊的文字常數,表示值的缺失:

SELECT NULL;

它與零或空字符串不同——它真正意味著“無值”或“未知”。

客戶端程序文字常數

當在客戶端程序中使用 MySQL(例如編寫與 MySQL 交互的 Python 腳本)時,您可能會遇到稍微不同形式的文字常數。這裡有一個快速對比:

MySQL 查詢 Python 等效
SELECT 42; cursor.execute("SELECT 42")
SELECT 'Hello'; cursor.execute("SELECT 'Hello'")
SELECT TRUE; cursor.execute("SELECT TRUE")
SELECT NULL; cursor.execute("SELECT NULL")

主要的區別在於,在客戶端程序中,您的 SQL 查詢通常被包裹在字符串中,您需要小心正確轉義引號。

好了,各位!我們已經遊歷了 MySQL 文字常數的世界,從數字到字串,從日期到 NULL。記住,文字常數是您 SQL 查詢的鹽和胡椒——它們為您的數據庫交互增添了風味和含義。

下次當您編寫查詢並需要使用特定值時,您會知道如何正確地將其表示為文字常數。在您的查詢中練習使用這些,不久您將會像專業廚師混合食材一樣熟練地混合和匹配文字常數!

持續編碼,持續學習,最重要的是,與 MySQL 共享樂趣!直到下次見,快樂查詢!

Credits: Image by storyset