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

MySQL में CREATE TEMPORARY TABLE से अस्थायी टेबल बनाएं

MySQL में CREATE TEMPORARY TABLE स्टेटमेंट सत्र-विशिष्ट (session-specific) अस्थायी टेबल बनाता है। यह कनेक्शन बंद होने पर स्वचालित रूप से ड्रॉप हो जाती है।

सिंटैक्स

CREATE TEMPORARY TABLE टेबल_नाम (
    कॉलम_नाम डेटा_टाइप
);

उदाहरण: दिनांक/समय मान संग्रहीत करना

1. अस्थायी टेबल बनाएं

mysql> CREATE TEMPORARY TABLE DemoTable (
    -> DueDate DATETIME
    -> );

2. विभिन्न दिनांक फ़ंक्शन के साथ डेटा डालें

mysql> INSERT INTO DemoTable VALUES(NOW());           -- वर्तमान दिनांक-समय
mysql> INSERT INTO DemoTable VALUES(CURDATE());     -- केवल वर्तमान दिनांक
mysql> INSERT INTO DemoTable VALUES('2018-01-21');  -- विशिष्ट दिनांक
mysql> INSERT INTO DemoTable VALUES('2019-12-31');  -- विशिष्ट दिनांक

3. सभी रिकॉर्ड देखें

mysql> SELECT * FROM DemoTable;
+---------------------+
| DueDate             |
+---------------------+
| 2019-10-27 18:07:41 |
| 2019-10-27 00:00:00 |
| 2018-01-21 00:00:00 |
| 2019-12-31 00:00:00 |
+---------------------+

महत्वपूर्ण विशेषताएं

  • सत्र-सीमित: केवल वर्तमान कनेक्शन में दृश्यमान
  • स्वचालित सफाई: कनेक्शन बंद होने पर अपने आप ड्रॉप होती है
  • नाम टकराव नहीं: अलग सत्र समान नाम की अस्थायी टेबल बना सकते हैं
  • अनुक्रमण समर्थन: इंडेक्स बना सकते हैं

उपयोग के मामले

  • जटिल क्वेरी में मध्यवर्ती परिणाम संग्रहीत करना
  • बड़े डेटासेट को चरणों में प्रोसेस करना
  • स्टोर्ड प्रोसीजर में अस्थायी गणना
  1. Java MySQL का उपयोग करके MySQL टेबल अपडेट करें Java MySQL का उपयोग करके MySQL टेबल अपडेट करें

    JDBC में PreparedStatement का उपयोग करके पैरामीटरीकृत अपडेट को सुरक्षित रूप से निष्पादित करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable(Id INT, FirstName VARCHAR(40)); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES(100,Chris),(111,Mike),(121,Sam); अपडेट से पहले SELECT

  1. - MySQL में DATE_FORMAT से टेबल कॉलम के दिनांक प्रारूप बदलें

    DATE_FORMAT(date, format) फ़ंक्शन का उपयोग करके DATETIME/DATE कॉलम को वांछित स्ट्रिंग प्रारूप में प्रदर्शित करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1906 (DueTime DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1906 VALUES(NOW()), (CURDATE()), (2017-10-11), (2015-01-12), (2018-04-25);

  1. - MySQL में टेबल बदलें ताकि परिकलित औसत स्कोर फ़ील्ड INSERT/UPDATE के बिना दिखे

    समाधान GENERATED ALWAYS AS ... VIRTUAL कॉलम का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType GENERATED ALWAYS AS ((col1 + col2 + ... + colN) / N) VIRTUAL; उदाहरण टेबल बनाएं: INSERT INTO demo32 VALUES (30,60), (20,40), (35,35); वर्चुअल कॉलम जोड़ें GENERATE