データベース開発において、関数はクエリの最適化、データ操作、データ変換に使用できる強力なツールです。人気のリレーショナル データベースとして、MySQL はさまざまなデータベース操作を処理するための豊富な組み込み関数を提供します。この記事では、クエリの最適化とデータ処理に役立つ MySQL の一般的な関数操作を詳しく紹介します。
1. 集計機能
COUNT 関数: レコード数をカウントするために使用されます。
SELECT COUNT(*) FROM orders;
SUM関数:合計するために使用されます。
SELECT SUM(price) FROM products;
AVG関数:平均値を計算するために使用されます。
SELECT AVG(age) FROM employees;
MAX 関数と MIN 関数: それぞれ最大値と最小値を見つけるために使用されます。
SELECT MAX(salary) FROM employees;
SELECT MIN(salary) FROM employees;
2. 文字列関数
CONCAT 関数: 複数の文字列を連結するために使用されます。
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
LENGTH 関数: 文字列の長さを計算するために使用されます。
SELECT LENGTH(description) FROM products;
UPPER 関数と LOWER 関数: それぞれ大文字と小文字に変換するために使用されます。
SELECT UPPER(username) FROM users;
SELECT LOWER(email) FROM users;
SUBSTRING 関数: 部分文字列をインターセプトするために使用されます。
SELECT SUBSTRING(title, 1, 10) FROM articles;
3.日付機能
NOW 関数: 現在の日付と時刻を返します。
SELECT NOW();
DATE_FORMAT 関数: 日付のフォーマットに使用されます。
SELECT DATE_FORMAT(order_date, '%Y-%m-%d') FROM orders;
DATEDIFF 関数: 2 つの日付間の日数の差を計算するために使用されます。
SELECT DATEDIFF('2023-07-01', '2023-06-15');
4. 条件付き関数
IF関数:条件に応じて異なる値を返します。
SELECT IF(quantity > 10, 'In Stock', 'Out of Stock') FROM products;
CASE機能:条件に応じて多分岐判定を行います。
SELECT
CASE
WHEN age < 18 THEN 'Minor'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM persons;
五、型変換機能
CAST 関数: データ型変換を実行します。
SELECT CAST(price AS DECIMAL(10, 2)) FROM products;
CONVERT 関数: データ型の変換にも使用されますが、データベース システムによって使用方法が異なる場合があります。
SELECT CONVERT(price, DECIMAL(10, 2)) FROM products;
6. グループ化機能
GROUP_CONCAT 関数: 一連の値を文字列に連結します。
SELECT department, GROUP_CONCAT(name) FROM employees GROUP BY department;
GROUP BY と集計関数の組み合わせ: グループ化と集計計算に使用されます。
SELECT department, AVG(salary) FROM employees GROUP BY department;
MySQL の組み込み関数は、クエリの最適化とデータ操作のための強力なツールを提供します。集計関数、文字列関数、日付関数から条件関数、型変換関数まで、各関数には特定の目的と機能があります。これらの一般的に使用される関数をマスターすると、データベース開発の効率が向上し、コードの量が削減され、データの処理と変換が向上します。深い理解と実践を通じて、データ操作でこれらの関数を柔軟に使用し、効率的で洗練されたデータベース クエリと処理コードを作成できるようになります。