MySQL - FLOAT: A Beginner's Guide

こんにちは、データベースの愛好家さんたち!今日は、MySQLの世界に飛び込み、面白いデータ型であるFLOATを探求します。プログラミングの初心者でも心配しないでください。私はあなたの親切なガイドとして、この旅をサポートし、すべてをステップバイステップで説明します。それでは、始めましょう!

MySQL - FLOAT

MySQLのFLOATデータ型

FLOATとは?

FLOATは、MySQLで使用されるデcimal数を保存するためのデータ型です。分数部分を持つ数(例:価格、測定値、科学計算)を扱うのに特に便利です。

FLOATを使う理由は?

あなたが果物屋を経営しているとしましょう。りんごを1.25ドルで売っています。この価格を整数で表現することはできませんよね?ここでFLOATが役立ちます!

基本的な構文

以下は、MySQLテーブルでFLOATカラムを宣言する方法です:

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

この例では、id、name、priceの3つのカラムを持つ'truits'というテーブルを作成しています。priceカラムはFLOATデータ型を使用しています。

FLOAT値の挿入

テーブルに果物を追加してみましょう:

INSERT INTO fruits (id, name, price) VALUES
(1, 'Apple', 1.25),
(2, 'Banana', 0.99),
(3, 'Orange', 1.50);

ここでは、3つの果物とそれぞれの価格をFLOAT値として挿入しています。

MySQL FLOATの他の表現

MySQLは浮動小数点数を表現するための異なる方法を提供しています。それらを探ってみましょう!

FLOAT(M,D)

FLOATの精度を指定するためにFLOAT(M,D)を使用できます:

  • M: 全体の数字の数
  • D: 小数点後の数字の数

例:

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

INSERT INTO products (id, name, weight) VALUES
(1, 'Laptop', 2.35),
(2, 'Smartphone', 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, 'New York', 25.5),
(2, 'London', 18.3),
(3, 'Tokyo', 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;

これにより、気温が1桁の小数点に丸められます。

通常の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を返します

結論

そして、亲爱的学生们、MySQLのFLOATの世界を探求しました。基本的な概念から実用的な応用まで、さまざまなことを学びました。小数点数を扱うことは、財務計算から科学データ分析に至るまで、多くの現実のシナリオで非常に重要です。

MySQLの旅を続ける中で、FLOATや他のデータ型を試してみてください。練習を重ねるほど、よりリラックスして扱えるようになります。そして、いつかあなたが次の大きなデータベース駆動型アプリケーションを作成するかもしれません!

ハッピーコーディング、そしてあなたのクエリが常に期待通りの結果を返すことを祈っています!

Credits: Image by storyset