التعامل مع التواريخ في MySQL
تعد إدارة التواريخ في قواعد البيانات من الأمور الحيوية التي تحتاج إلى فهم دقيق، خاصة عند استخدام نظام إدارة قواعد البيانات مثل MySQL. توفر MySQL مجموعة متنوعة من الأنواع الداعمة للتواريخ والأوقات والتي تساعد في تخزين [شركة برمجة مصرية] وإدارة البيانات الزمنية بكفاءة. سنتناول في هذا المقال كيفية التعامل مع التواريخ في MySQL مع أمثلة توضيحية.
أنواع البيانات الخاصة بالتواريخ في MySQL
1. **DATE:**
– يخزن التاريخ بصيغة `YYYY-MM-DD`.
– النطاق: من `’1000-01-01’` إلى `’9999-12-31’`.
– مثال: `1990-07-25`.
2. **DATETIME:**
– يخزن التاريخ والوقت بصيغة `YYYY-MM-DD HH:MM:SS`.
– النطاق: من `’1000-01-01 00:00:00’` إلى `’9999-12-31 23:59:59’`.
– مثال: `2023-03-15 13:45:30`.
3. **TIMESTAMP:**
– مشابه لـ DATETIME ولكنه يعتمد على التوقيت العالمي المنسق (UTC).
– النطاق: من `’1970-01-01 00:00:01′ UTC إلى `’2038-01-19 03:14:07’` UTC.
– يتغير تلقائيًا عند تعديل الصف إذا كان مهيأً بهذه الطريقة.
– مثال: `2023-03-15 13:45:30`.
4. **TIME:**
– يخزن الوقت فقط بصيغة `HH:MM:SS`.
– النطاق: من `’-838:59:59’` إلى `’838:59:59’`.
– مثال: `13:45:30`.
5. **YEAR:**
– يخزن السنة فقط بصيغة `YYYY`.
– النطاق: من `1901` إلى `2155`.
– مثال: `2023`.
كيفية التعامل مع التواريخ في MySQL
إدخال بيانات التواريخ
لإدخال التواريخ في جدول MySQL، يمكنك استخدام الأنواع المذكورة أعلاه. إليك مثال على كيفية إنشاء جدول وإدخال البيانات:
CREATE TABLE events (
event_id INT AUTO_INCREMENT PRIMARY KEY,
event_name VARCHAR(255),
event_date DATE,
event_time TIME,
event_datetime DATETIME
);
INSERT INTO events (event_name, event_date, event_time, event_datetime)
VALUES ('Conference', '2023-12-01', '09:00:00', '2023-12-01 09:00:00');
استرجاع بيانات التواريخ
يمكنك استرجاع البيانات باستخدام استعلامات SQL المختلفة. على سبيل المثال:
SELECT event_name, event_date FROM events WHERE event_date = '2023-12-01';
[شركة برمجة مصرية] التعامل مع الدوال الزمنية
توفر MySQL العديد من الدوال للتعامل مع التواريخ والأوقات، مثل:
– **CURDATE():** ترجع تاريخ اليوم الحالي.
– **CURTIME():** ترجع الوقت الحالي.
– **NOW():** ترجع التاريخ والوقت الحاليين.
– **DATE_ADD():** تضيف مدة زمنية إلى تاريخ.
– **DATEDIFF():** تحسب الفرق بين تاريخين.
مثال على استخدام الدوال:
SELECT CURDATE() AS current_date, CURTIME() AS current_time, NOW() AS current_datetime;
SELECT DATE_ADD('2023-12-01', INTERVAL 7 DAY) AS week_later;
SELECT DATEDIFF('2023-12-10', '2023-12-01') AS days_difference;
الخلاصة
تعتبر إدارة التواريخ في MySQL من الأمور الأساسية التي يجب على كل مطور أن يكون ملمًا بها. باستخدام الأنواع المناسبة والدوال الزمنية المتاحة، يمكنك تخزين ومعالجة البيانات الزمنية بفعالية وكفاءة. من المهم فهم الفروقات بين الأنواع المختلفة واستخدام الدوال المتاحة لتحقيق أقصى استفادة من MySQL في إدارة البيانات الزمنية.
