Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में टाइमस्टैम्प ऑटोमेटिक स्टोर करें: DEFAULT CURRENT_TIMESTAMP (2 तरीके)

MySQL में रो बनाते/अपडेट करते समय ऑटोमेटिक टाइमस्टैम्प स्टोर करने के 2 तरीके

तरीका 1: टेबल बनाते समय (CREATE TABLE में)

CREATE TABLE yourTableName (
    yourDateTimeColumnName DATETIME DEFAULT CURRENT_TIMESTAMP
);

तरीका 2: मौजूदा टेबल में कॉलम जोड़कर (ALTER TABLE)

ALTER TABLE yourTableName 
ADD yourColumnName DATETIME DEFAULT CURRENT_TIMESTAMP;

व्यावहारिक उदाहरण

तरीका 1: CREATE TABLE के साथ

mysql> CREATE TABLE CurrentTimeStampDemo (
    -> CreationDate DATETIME DEFAULT CURRENT_TIMESTAMP
    -> ); 
Query OK, 0 rows affected (0.61 sec)

इन्सर्ट करते समय मान न दें:

mysql> INSERT INTO CurrentTimeStampDemo VALUES(); 
Query OK, 1 row affected (0.12 sec)
mysql> SELECT * FROM CurrentTimeStampDemo;
+---------------------+ 
| CreationDate        | 
+---------------------+ 
| 2019-01-02 15:53:03 | 
+---------------------+ 
1 row in set (0.00 sec)

तरीका 2: ALTER TABLE के साथ

mysql> CREATE TABLE Current_TimestampDemo (Id INT); 
Query OK, 0 rows affected (0.43 sec)

mysql> ALTER TABLE Current_TimestampDemo 
    -> ADD CreationDate DATETIME DEFAULT CURRENT_TIMESTAMP; 
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO Current_TimestampDemo(Id) VALUES(1); 
Query OK, 1 row affected (0.19 sec)

mysql> SELECT CreationDate FROM Current_TimestampDemo;
+---------------------+ 
| CreationDate        | 
+---------------------+ 
| 2019-01-02 16:25:12 | 
+---------------------+ 
1 row in set (0.00 sec)

उन्नत: ऑटो-अपडेट टाइमस्टैम्प (ON UPDATE)

CREATE TABLE demo (
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
  • created_at: केवल इन्सर्ट पर सेट होता है
  • updated_at: हर अपडेट पर ऑटोमेटिक अपडेट होता है

डेटा टाइप विकल्प:

टाइपरेंजस्टोरेजटाइमज़ोन
DATETIME1000-01-01 से 9999-12-318 बाइट्सनहीं (सत्र टाइमज़ोन)
TIMESTAMP1970-01-01 से 2038-01-194 बाइट्सहाँ (UTC में स्टोर)

सुझाव: नए एप्लीकेशन के लिए DATETIME + DEFAULT CURRENT_TIMESTAMP बेहतर है (2038 समस्या नहीं, टाइमज़ोन नियंत्रण)।

  1. - MySQL में SHOW CREATE TABLE का उपयोग करके टेबल संरचना देखना

    MySQL में SHOW CREATE TABLE स्टेटमेंट का उपयोग करके टेबल की पूर्ण CREATE स्टेटमेंट देखें, जिसमें इंडेक्स, कॉलम परिभाषाएं, इंजन, चार्टसेट आदि शामिल हैं। सिंटैक्स SHOW CREATE TABLE yourTableName; उदाहरण: जटिल टेबल बनाना mysql> CREATE TABLE DemoTable ( -> Id INT NOT NULL AUTO_INCREMENT PR

  1. - MySQL में स्टोर्ड प्रोसीजर और प्रिपेयर्ड स्टेटमेंट का उपयोग करके डायनामिक टेबल बनाना

    MySQL में स्टोर्ड प्रोसीजर, PREPARE, EXECUTE, और डायनामिक SQL का उपयोग करके रनटाइम पर टेबल नाम निर्दिष्ट करके टेबल बनाएं। स्टोर्ड प्रोसीजर बनाना mysql> DELIMITER $$ mysql> CREATE PROCEDURE creatingDynamicTableDemo(yourTableName VARCHAR(200)) -> BEGIN -> SET @name = yourTabl

  1. - MySQL में FROM_UNIXTIME() और MONTH() का उपयोग करके टाइमस्टैम्प को महीने में परिवर्तित करना

    MySQL में UNIX टाइमस्टैम्प से महीना निकालना UNIX टाइमस्टैम्प (1970-01-01 से सेकंड) को महीने में परिवर्तित करने के लिए, पहले FROM_UNIXTIME() का उपयोग करके DATETIME में परिवर्तित करें, फिर MONTH() का उपयोग करके महीना निकालें। उदाहरण: टाइमस्टैम्प से महीना निकालना SELECT * FROM DemoTable1457; +-------