Để chèn ngày vào MySQL, cột trong bảng phải có kiểu DATE hoặc DATETIME. Trước khi chèn, cần chuyển đối tượng ngày thành chuỗi theo định dạng MySQL chấp nhận. Sử dụng phương thức strftime của module datetime.
Ví dụ: Insert ngày giờ
from datetime import datetime
now = datetime.now()
id = 1
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
# Giả sử đã có cursor
cursor.execute('INSERT INTO table_name (id, date_created) VALUES (%s, %s)', (id, formatted_date))
Khi truy xuất ngày từ database bằng SELECT, kết quả trả về là chuỗi. Cần parse ngược lại thành đối tượng datetime bằng strptime.
Ví dụ: Fetch và parse ngày
from datetime import datetime
cursor.execute('SELECT id, date_created FROM table_name WHERE id=1')
row = cursor.fetchone()
if row:
id, date_str = row
# date_str có định dạng 'YYYY-MM-DD HH:MM:SS'
created_date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
# created_date giờ là đối tượng datetime có thể thao tác trong Python
Cách này đảm bảo tính toàn vẹn dữ liệu ngày tháng giữa Python và MySQL.