MySQL TIMESTAMP

Giới thiệu về MySQL TIMESTAMP

MySQL TIMESTAMP là một kiểu dữ liệu trong cơ sở dữ liệu MySQL, được sử dụng để lưu trữ thông tin về thời gian. Thời gian được lưu dưới dạng số giây kể từ '1970-01-01 00:00:00' UTC. Đây là kiểu dữ liệu rất hữu ích khi bạn cần lưu trữ thời gian một cách chính xác, ví dụ như thời gian tạo, cập nhật hoặc hoàn thành một bản ghi trong bảng dữ liệu.

Cú pháp

Cú pháp để khai báo một trường kiểu TIMESTAMP trong MySQL như sau:

CREATE TABLE ten_bang (
    ten_truong TIMESTAMP,
    ...
);

Bạn cũng có thể sử dụng các tùy chọn để thiết lập giá trị mặc định cho TIMESTAMP, chẳng hạn như:

CREATE TABLE ten_bang (
    ten_truong TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    ...
);

Các ví dụ về MySQL TIMESTAMP

1. Tạo bảng với trường TIMESTAMP

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Bảng trên sẽ tạo một bảng "users" với một trường "created_at" lưu trữ thời gian mà người dùng được tạo ra, tự động được gán giá trị là thời gian hiện tại.

2. Chèn dữ liệu vào bảng với TIMESTAMP

INSERT INTO users (username) VALUES ('user1');
INSERT INTO users (username) VALUES ('user2');

Khi bạn chèn dữ liệu vào bảng "users", trường "created_at" sẽ tự động được điền với thời gian hiện tại.

3. Truy vấn dữ liệu với TIMESTAMP

SELECT * FROM users WHERE created_at >= '2023-01-01 00:00:00';

Truy vấn trên sẽ lấy tất cả người dùng được tạo ra từ ngày 1 tháng 1 năm 2023 trở đi.

4. Cập nhật thời gian với TIMESTAMP

UPDATE users SET created_at = NOW() WHERE id = 1;

Câu lệnh trên sẽ cập nhật trường "created_at" của người dùng có id bằng 1 thành thời gian hiện tại.

5. Sử dụng TIMESTAMP với các phép toán thời gian

SELECT username, created_at, DATE_ADD(created_at, INTERVAL 7 DAY) AS expiration_date 
FROM users;

Truy vấn này sẽ trả về danh sách người dùng cùng với thời gian tạo và thời gian hết hạn là 7 ngày sau thời gian tạo.

Kết luận

MySQL TIMESTAMP là một công cụ mạnh mẽ giúp bạn lưu trữ và quản lý thông tin thời gian trong cơ sở dữ liệu. Việc hiểu rõ cách sử dụng kiểu dữ liệu này sẽ giúp bạn phát triển các ứng dụng hiệu quả hơn.