MySQL - Các Chức Năng Hữu Ích
Xin chào các bạn, những người yêu thích cơ sở dữ liệu! Hôm nay, chúng ta sẽ cùng lặn sâu vào thế giới kỳ diệu của các hàm MySQL. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - tôi sẽ là người hướng dẫn thân thiện của bạn trong hành trình này, giải thích mọi thứ từng bước. Vậy, hãy lấy một cốc cà phê, và chúng ta cùng bắt đầu!
Các Chức Năng Cố Định của MySQL
MySQL được tích hợp với nhiều hàm cố định giúp cuộc sống của chúng ta trở nên dễ dàng hơn khi làm việc với cơ sở dữ liệu. Những hàm này giống như những người giúp việc nhỏ có thể thực hiện các nhiệm vụ cụ thể cho chúng ta, tiết kiệm thời gian và giảm độ phức tạp của các truy vấn.
Các Chức Năng Chữ
Hãy bắt đầu với một số hàm chữ hữu ích. Những hàm này đặc biệt hữu ích khi bạn làm việc với dữ liệu văn bản.
CONCAT()
Hàm CONCAT() được sử dụng để kết hợp hai hoặc nhiều chuỗi thành một chuỗi duy nhất. Nó giống như dán các mảnh văn bản lại với nhau.
SELECT CONCAT('Hello', ' ', 'World!') AS greeting;
Kết quả đầu ra:
+---------------+
| greeting |
+---------------+
| Hello World! |
+---------------+
Ở đây, chúng ta đã kết hợp ba chuỗi: 'Hello', một khoảng trống, và 'World!'. Từ khóa AS cho phép chúng ta đặt tên cho cột kết quả.
LENGTH()
Hàm LENGTH() trả về độ dài của một chuỗi. Nó giống như đếm số lượng ký tự trong một từ.
SELECT LENGTH('OpenAI') AS string_length;
Kết quả:
+---------------+
| string_length |
+---------------+
| 6 |
+---------------+
Điều này cho biết rằng 'OpenAI' có 6 ký tự.
UPPER() và LOWER()
Những hàm này chuyển đổi một chuỗi thành chữ in hoa hoặc chữ thường.
SELECT UPPER('hello') AS uppercase, LOWER('WORLD') AS lowercase;
Kết quả:
+-----------+-----------+
| uppercase | lowercase |
+-----------+-----------+
| HELLO | world |
+-----------+-----------+
Các Chức Năng Số
Bây giờ, hãy xem xét một số hàm làm việc với số. Những hàm này rất tốt khi bạn cần thực hiện các phép toán hoặc làm tròn số.
ROUND()
Hàm ROUND() làm tròn một số đến số lượng thập phân xác định.
SELECT ROUND(3.14159, 2) AS rounded_pi;
Kết quả:
+------------+
| rounded_pi |
+------------+
| 3.14 |
+------------+
Điều này làm tròn số của chúng ta đến hai chữ số thập phân.
ABS()
Hàm ABS() trả về giá trị tuyệt đối (dương) của một số.
SELECT ABS(-15.7) AS absolute_value;
Kết quả:
+----------------+
| absolute_value |
+----------------+
| 15.7 |
+----------------+
Các Chức Năng Ngày và Giờ
Xử lý ngày và giờ có thể khó khăn, nhưng MySQL có một số hàm để làm cho nó dễ dàng hơn.
NOW()
Hàm NOW() trả về ngày và giờ hiện tại.
SELECT NOW() AS current_datetime;
Kết quả (sẽ thay đổi tùy thuộc vào khi bạn chạy nó):
+---------------------+
| current_datetime |
+---------------------+
| 2023-06-15 14:30:00 |
+---------------------+
DATEDIFF()
Hàm DATEDIFF() tính toán số ngày giữa hai ngày.
SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_in_2023;
Kết quả:
+--------------+
| days_in_2023 |
+--------------+
| 364 |
+--------------+
Điều này cho biết có 364 ngày giữa ngày 1 tháng 1 và ngày 31 tháng 12 năm 2023.
Các Chức Năng Điều Kiện
Các hàm điều kiện cho phép chúng ta thêm một chút logic vào các truy vấn của mình.
IF()
Hàm IF() trả về một giá trị nếu điều kiện là ĐÚNG, và một giá trị khác nếu điều kiện là SAI.
SELECT IF(10 > 5, 'Yes', 'No') AS is_greater;
Kết quả:
+------------+
| is_greater |
+------------+
| Yes |
+------------+
Vì 10 thực sự lớn hơn 5, hàm trả về 'Yes'.
COALESCE()
Hàm COALESCE() trả về giá trị đầu tiên không phải NULL trong danh sách.
SELECT COALESCE(NULL, NULL, 'Hello', 'World') AS first_non_null;
Kết quả:
+----------------+
| first_non_null |
+----------------+
| Hello |
+----------------+
Điều này đặc biệt hữu ích khi làm việc với các giá trị có thể NULL trong cơ sở dữ liệu của bạn.
Tóm Tắt Các Chức Năng MySQL Hữu Ích
Dưới đây là bảng tóm tắt các hàm chúng ta đã xem xét:
Hàm | Mô Tả | Ví Dụ Sử Dụng |
---|---|---|
CONCAT() | Kết hợp hai hoặc nhiều chuỗi | CONCAT('Hello', ' ', 'World!') |
LENGTH() | Trả về độ dài của một chuỗi | LENGTH('OpenAI') |
UPPER() | Chuyển đổi một chuỗi thành chữ in hoa | UPPER('hello') |
LOWER() | Chuyển đổi một chuỗi thành chữ thường | LOWER('WORLD') |
ROUND() | Làm tròn một số đến số lượng thập phân xác định | ROUND(3.14159, 2) |
ABS() | Trả về giá trị tuyệt đối của một số | ABS(-15.7) |
NOW() | Trả về ngày và giờ hiện tại | NOW() |
DATEDIFF() | Tính toán số ngày giữa hai ngày | DATEDIFF('2023-12-31', '2023-01-01') |
IF() | Trả về một giá trị dựa trên một điều kiện | IF(10 > 5, 'Yes', 'No') |
COALESCE() | Trả về giá trị đầu tiên không phải NULL trong danh sách | COALESCE(NULL, NULL, 'Hello', 'World') |
Và đây là tất cả! Chúng ta đã xem xét một số hàm MySQL hữu ích. Nhớ rằng, thực hành là cách tốt nhất để thành thạo, vì vậy đừng ngần ngại thử nghiệm các hàm này trong các truy vấn của riêng bạn. Chúng giống như các công cụ trong một hộp công cụ - càng sử dụng nhiều, bạn sẽ càng thoải mái hơn.
Trong những năm dạy học của tôi, tôi đã thấy rằng sinh viên thường xuyên thử nghiệm với các hàm này thường xuyên tìm ra các giải pháp sáng tạo cho các vấn đề cơ sở dữ liệu. Vậy hãy tiếp tục, hãy vui chơi với nó! Ai biết, bạn có thể tìm thấy một số kết hợp thú vị mà chúng ta chưa bao giờ đề cập đến.
Lần sau, chúng ta sẽ lặn sâu vào các chủ đề MySQL nâng cao. Đến那个时候, hãy tiếp tục truy vấn và 保持好奇心!
Credits: Image by storyset