Cách tạo và sử dụng hàm trong MySQL
Hàm trong MySQL là các khối mã được tạo ra để thực hiện một tác vụ cụ thể và trả về kết quả. Chúng giúp tái sử dụng mã và giảm độ phức tạp của các truy vấn. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo và sử dụng hàm trong MySQL.
Tạo hàm trong MySQL
Để tạo một hàm trong MySQL, chúng ta sử dụng câu lệnh CREATE FUNCTION. Cú pháp cơ bản như sau:
CREATE FUNCTION tên_hàm ([tham_số1][kiểu_dữ_liệu1], [tham_số2][kiểu_dữ_liệu2], ...)
RETURNS kiểu_dữ_liệu
BEGIN
-- Mã lệnh thực thi
RETURN giá_trị;
END;
Trong đó:
- tên_hàm: Tên của hàm bạn muốn đặt.
- tham_số1, tham_số2, …: Các tham số của hàm (tuỳ chọn).
- kiểu_dữ_liệu1, kiểu_dữ_liệu2, …: Kiểu dữ liệu của các tham số.
- kiểu_dữ_liệu: Kiểu dữ liệu mà hàm trả về.
- Mã lệnh thực thi: Các câu lệnh SQL để thực hiện tác vụ của hàm.
- giá_trị: Giá trị trả về của hàm.
Sử dụng hàm trong MySQL
Sau khi tạo hàm, chúng ta có thể sử dụng nó trong các truy vấn SQL. Để gọi một hàm, chúng ta sử dụng câu lệnh SELECT hoặc câu lệnh khác và truyền các tham số nếu cần thiết. Ví dụ:
SELECT tên_hàm(tham_số1, tham_số2, ...)
FROM tên_bảng;
Trong đó:
- tên_hàm: Tên của hàm mà chúng ta muốn sử dụng.
- tham_số1, tham_số2, …: Các tham số cần truyền cho hàm (tuỳ chọn).
- tên_bảng: Tên bảng mà chúng ta muốn truy vấn.
Ví dụ về hàm trong MySQL
Hãy xem một ví dụ đơn giản về cách tạo và sử dụng hàm trong MySQL:
CREATE FUNCTION total_price(quantity INT, price DECIMAL(10,2))
RETURNS DECIMAL(10,2)
BEGIN
DECLARE total DECIMAL(10,2);
SET total = quantity * price;
RETURN total;
END;
Sau khi tạo hàm “total_price”, chúng ta có thể sử dụng nó trong truy vấn như sau:
SELECT product_name, total_price(quantity, price) AS total
FROM products;
Trong ví dụ này, chúng ta tạo một hàm “total_price” nhận vào hai tham số là “quantity” (số lượng) và “price” (giá), và trả về tổng giá trị “total”. Chúng ta sau đó sử dụng hàm này trong một truy vấn để tính tổng giá trị cho từng sản phẩm từ bảng “products”.
Trên đây là một số khái niệm cơ bản về cách tạo và sử dụng hàm trong MySQL. Hàm giúp chúng ta tổ chức mã và giảm độ phức tạp của các truy vấn, đồng thời tăng tính tái sử dụng của mã lệnh.