MySQL - Ngày Hiện Tại

Xin chào các bạn đam mê cơ sở dữ liệu! Hôm nay, chúng ta sẽ cùng khám phá thế giới thú vị của ngày trong MySQL. Là một giáo viên khoa học máy tính gần gũi, tôi ở đây để hướng dẫn các bạn cách làm việc với ngày hiện tại trong MySQL. Đừng lo lắng nếu bạn chưa bao giờ viết một dòng mã trước đây - chúng ta sẽ bắt đầu từ những điều cơ bản và dần dần nâng cao. Hãy chuẩn bị笔记本 ảo của bạn và cùng bắt đầu!

MySQL - Today Date

Ngày Hiện Tại trong MySQL

Ngày Hiện Tại trong MySQL Là Gì?

Trong MySQL, "ngày hiện tại" đề cập đến ngày hiện tại theo đồng hồ hệ thống của máy chủ cơ sở dữ liệu. Nó giống như hỏi máy tính của bạn, "Hôm nay là ngày nào?" và nhận được câu trả lời chính xác. Điều này có vẻ đơn giản, nhưng nó vô cùng hữu ích trong nhiều ứng dụng cơ sở dữ liệu.

Làm Thế Nào Để Lấy Ngày Hiện Tại

MySQL cung cấp nhiều hàm để lấy ngày hiện tại. Hãy cùng xem xét những hàm phổ biến nhất:

Hàm Mô Tả Output Mẫu
CURDATE() Trả về ngày hiện tại 2023-05-15
CURRENT_DATE() Tên thay thế cho CURDATE() 2023-05-15
CURRENT_DATE Tên thay thế cho CURDATE() 2023-05-15
NOW() Trả về ngày và giờ hiện tại 2023-05-15 14:30:00

Hãy thử các hàm này! Dưới đây là một truy vấn đơn giản để lấy ngày hiện tại:

SELECT CURDATE() AS Today;

Kết quả sẽ là:

+------------+
| Today      |
+------------+
| 2023-05-15 |
+------------+

Tuyệt vời phải không? Nó giống như có một lịch tích hợp trong cơ sở dữ liệu của bạn!

Định Dạng Ngày

Đôi khi, bạn có thể muốn hiển thị ngày theo định dạng khác. MySQL có hàm DATE_FORMAT() để giúp bạn. Dưới đây là cách bạn có thể sử dụng nó:

SELECT DATE_FORMAT(CURDATE(), '%W, %M %d, %Y') AS Formatted_Date;

Kết quả có thể là:

+-------------------------+
| Formatted_Date          |
+-------------------------+
| Monday, May 15, 2023    |
+-------------------------+

Các '%W', '%M', '%d', và '%Y' là các chỉ định định dạng cho MySQL biết cách hiển thị ngày. Nó giống như đưa ra hướng dẫn cho một người bạn về cách viết ngày - "Trước tiên là ngày trong tuần, sau đó là tháng, sau đó là số ngày, và cuối cùng là năm."

Chèn Giá Trị Ngày vào Bảng

Bây giờ chúng ta đã biết cách lấy ngày hiện tại, hãy xem cách chúng ta có thể sử dụng nó trong một tình huống thực tế. Hãy tưởng tượng chúng ta đang xây dựng một cơ sở dữ liệu thư viện và chúng ta muốn theo dõi khi nào sách được mượn.

Trước tiên, hãy tạo một bảng đơn giản:

CREATE TABLE book_loans (
id INT AUTO_INCREMENT PRIMARY KEY,
book_title VARCHAR(100),
borrow_date DATE
);

Bảng này có ba cột: ID, tiêu đề sách, và ngày mượn. Bây giờ, hãy chèn một bản ghi sử dụng ngày hiện tại:

INSERT INTO book_loans (book_title, borrow_date)
VALUES ('The MySQL Adventurer', CURDATE());

Điều này chèn một bản ghi mới với ngày hiện tại làm borrow_date. Nó giống như viết trong sổ log, " ai đó đã mượn 'The MySQL Adventurer' hôm nay."

Chúng ta có thể kiểm tra công việc của mình bằng cách chọn từ bảng:

SELECT * FROM book_loans;

Bạn có thể thấy gì như sau:

+----+----------------------+------------+
| id | book_title           | borrow_date|
+----+----------------------+------------+
|  1 | The MySQL Adventurer | 2023-05-15 |
+----+----------------------+------------+

Ngày Hiện Tại Sử Dụng Chương Trình Khách

Khi bạn làm việc với MySQL thông qua một chương trình khách (như MySQL command-line client), bạn cũng có thể sử dụng hàm NOW() để lấy ngày và giờ hiện tại. Dưới đây là một ví dụ nhanh:

SELECT NOW() AS Current_DateTime;

Kết quả sẽ là:

+---------------------+
| Current_DateTime    |
+---------------------+
| 2023-05-15 15:30:45 |
+---------------------+

Nó giống như hỏi đồng hồ đeo tay của bạn về ngày và giờ!

Ứng Dụng Thực Tế: Tính Tuổi

Hãy áp dụng kiến thức của chúng ta vào một ví dụ thực tế. Giả sử chúng ta muốn tính tuổi của ai đó dựa trên ngày sinh của họ. Chúng ta có thể sử dụng hàm DATEDIFF() cùng với CURDATE():

SELECT
'John Doe' AS Name,
'1990-05-15' AS Birthdate,
FLOOR(DATEDIFF(CURDATE(), '1990-05-15') / 365) AS Age;

Truy vấn này có thể trả về:

+----------+------------+------+
| Name     | Birthdate  | Age  |
+----------+------------+------+
| John Doe | 1990-05-15 |   33 |
+----------+------------+------+

Ở đây, chúng ta đang tính số ngày giữa ngày sinh và ngày hiện tại, sau đó chia cho 365 để lấy tuổi theo năm. Nó giống như đếm số nến trên bánh sinh nhật, nhưng nhanh hơn nhiều!

Kết Luận

Và thế là chúng ta đã cùng nhau khám phá thế giới ngày trong MySQL, từ việc lấy ngày hiện tại đến việc sử dụng nó trong các tình huống thực tế. Nhớ rằng, làm việc với ngày có thể看起来 phức tạp ban đầu, nhưng với sự luyện tập, nó sẽ trở nên tự nhiên.

Khi kết thúc, đây là một tí hài hước từ thế giới cơ sở dữ liệu: Tại sao quản trị viên cơ sở dữ liệu bỏ vợ của mình? Ông ấy muốn bắt đầu một mối quan hệ mới! (Ba dum tss!)

Hãy tiếp tục luyện tập, giữ vững sự tò mò, và trước khi bạn biết, bạn sẽ xử lý ngày trong MySQL như một chuyên gia. Hẹn gặp lại các bạn, chúc các bạn viết mã vui vẻ!

Credits: Image by storyset