以下是原文翻译成繁體中文的內容:

MySQL - FLOAT

# MySQL - FLOAT:初學者指南

你好,有志於數據庫的愛好者!今天,我們將進入MySQL的世界,探索一個非常有趣的數據類型——FLOAT。別擔心你對編程是新手——我會在這次旅行中成為你的友好導遊,一步一步地解釋一切。那麼,我們開始吧!

## MySQL 的 FLOAT 數據類型

### 什麼是 FLOAT?

FLOAT 是 MySQL 中用來存儲小數的數據類型。當你需要處理帶有分数的部分的數字,如價格、度量或科學計算時,它特別有用。

### 為什麼使用 FLOAT?

想像你正在經營一個水果攤。你賣的蘋果每個1.25美元。你不能用整數來表示這個價格,對吧?這就是 FLOAT 派上用場的地方!

### 基本語法

以下是如何在 MySQL 表中聲明 FLOAT 欄位的示例:

```sql
CREATE TABLE fruits (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    price FLOAT
);

在這個例子中,我們創建了一個名為 'fruits' 的表,其中有三個欄位:id、name 和 price。price 欄位使用 FLOAT 數據類型。

插入 FLOAT 值

讓我們向表中添加一些水果:

INSERT INTO fruits (id, name, price) VALUES
(1, '蘋果', 1.25),
(2, '香蕉', 0.99),
(3, '橙子', 1.50);

在這裡,我們正在插入三種水果及其各自的價格作為 FLOAT 值。

MySQL FLOAT 的其他表示形式

MySQL 提供了不同的方式來表示浮點數。讓我們來探討一下!

FLOAT(M,D)

你可以使用 FLOAT(M,D) 來指定 FLOAT 的精度:

  • M:總數字數
  • D:小數點後的數字數

示例:

CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    weight FLOAT(5,2)
);

INSERT INTO products (id, name, weight) VALUES
(1, '筆記本電腦', 2.35),
(2, '手機', 0.18);

在這種情況下,weight FLOAT(5,2) 意味著我們可以存儲數字直到 999.99。

FLOAT 與 DOUBLE 的比較

FLOAT 是單精度浮點數,而 DOUBLE 是雙精度浮點數。DOUBLE 更精確,但佔用的存儲空間更多。

示例:

CREATE TABLE measurements (
    id INT PRIMARY KEY,
    float_value FLOAT,
    double_value DOUBLE
);

INSERT INTO measurements (id, float_value, double_value) VALUES
(1, 1.12345678901234567890, 1.12345678901234567890);

SELECT * FROM measurements;

你會注意到 DOUBLE 欄位保留的小數位數比 FLOAT 欄位多。

在客戶端程序中使用 Float 數據類型

現在,讓我們看看如何使用 MySQL 客戶端程序處理 FLOAT 數據類型。

使用 MySQL Workbench

  1. 使用 MySQL Workbench 連接到你的 MySQL 伺服器。
  2. 創建一個名為 'floatexamples' 的新模式(數據庫)。
  3. 執行以下查詢:
USE floatexamples;

CREATE TABLE temperatures (
    id INT PRIMARY KEY,
    city VARCHAR(50),
    temp_celsius FLOAT(5,2)
);

INSERT INTO temperatures (id, city, temp_celsius) VALUES
(1, '紐約', 25.5),
(2, '倫敦', 18.3),
(3, '東京', 30.1);

SELECT * FROM temperatures;

這將使用 FLOAT 值創建一個城市溫度表。

执行計算

FLOAT 值非常適合計算。讓我們將我們的溫度轉換為華氏溫度:

SELECT 
    id, 
    city, 
    temp_celsius, 
    (temp_celsius * 9/5) + 32 AS temp_fahrenheit
FROM temperatures;

這個查詢將顯示攝氏溫度和華氏溫度。

四舍五入 FLOAT 值

有時,你可能想要四舍五入 FLOAT 值。MySQL 提供了以下函數:

SELECT 
    id, 
    city, 
    temp_celsius, 
    ROUND(temp_celsius, 1) AS rounded_celsius
FROM temperatures;

這將將溫度四舍五入到小數點後一位。

常用的 FLOAT 函數

以下是處理 FLOAT 值的一些有用的 MySQL 函數:

函數 描述 示例
ROUND() 將數字四舍五入到指定的數字小數位 ROUND(3.14159, 2) 返回 3.14
CEIL() 返回不小於參數的最小整數值 CEIL(3.14) 返回 4
FLOOR() 返回不大於參數的最大整數值 FLOOR(3.14) 返回 3
ABS() 返回數字的絕對值 ABS(-3.14) 返回 3.14
TRUNCATE() 將數字截斷到指定的數字小數位 TRUNCATE(3.14159, 2) 返回 3.14

結論

親愛的學生們,這就是 FLOAT 在 MySQL 中的世界,從基本概念到實際應用。記住,在許多真實世界的情況中,處理小數是至關重要的,從金融計算到科學數據分析。

在你繼續你的 MySQL 旅程時,請繼續嘗試 FLOAT 和其他數據類型。你實踐得越多,你就會越熟悉。誰知道呢?也許有一天你會創造出下一個大型數據庫驅動的應用程序!

開心地編程,願你的查詢總是返回你期望的結果!

Credits: Image by storyset