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

MySQL में टर्मिनल से क्वेरी चलाकर परिणाम प्रिंट किए बिना वेरिएबल में स्टोर करना

MySQL में क्वेरी परिणाम को सीधे प्रिंट किए बिना यूजर-डिफाइंड वेरिएबल में स्टोर करने के लिए असाइनमेंट ऑपरेटर (:= या = SET के साथ) का उपयोग करें। यह स्क्रिप्टिंग और स्टोर्ड प्रोसीजर्स में उपयोगी है।

सिंटैक्स

SET @variable_name = (SELECT aggregate_function(column) FROM table_name);

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

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE DemoTable709 (Amount INT);
Query OK, 0 rows affected (0.62 sec)

mysql> INSERT INTO DemoTable709 VALUES (100), (560), (7800), (1020);
Query OK, 4 rows affected (0.15 sec)

2. परिणाम प्रिंट किए बिना वेरिएबल में स्टोर करें

mysql> SET @TotalAmount = (SELECT SUM(Amount) FROM DemoTable709);
Query OK, 0 rows affected (0.00 sec)

3. आवश्यकता पड़ने पर वेरिएबल मान देखें

mysql> SELECT @TotalAmount;
+--------------+
| @TotalAmount |
+--------------+
| 9480         |
+--------------+
1 row in set (0.05 sec)

मुख्य बिंदु

  • @variable_name - यूजर-डिफाइंड वेरिएबल (सत्र-स्तरीय)
  • सबक्वेरी एकल मान लौटानी चाहिए
  • परिणाम टर्मिनल पर प्रिंट नहीं होता, केवल वेरिएबल में स्टोर होता है
  • बाद में SELECT @variable_name से मान प्राप्त करें

अन्य उपयोगी उदाहरण

-- गिनती स्टोर करें
SET @count = (SELECT COUNT(*) FROM users WHERE active = 1);

-- अधिकतम तिथि स्टोर करें
SET @max_date = (SELECT MAX(created_at) FROM orders);

-- एकाधिक वेरिएबल्स एक साथ
SELECT @min_val := MIN(score), @max_val := MAX(score) FROM exam_results;

-- वेरिएबल का उपयोग दूसरी क्वेरी में
SELECT * FROM products WHERE price > @avg_price;

स्क्रिप्टिंग में उपयोग

शेल स्क्रिप्ट्स या बैच फाइल्स में MySQL क्वेरीज़ चलाते समय आउटपुट को दबाने और केवल वेरिएबल में मान रखने के लिए यह तकनीक बहुत उपयोगी है।

  1. - MySQL में कॉलम नाम के बिना कॉलम स्थिति द्वारा ORDER BY करें

    MySQL में ORDER BY क्लॉज में कॉलम नाम के बजाय **कॉलम स्थिति (पोजिशनल नंबर)** का उपयोग करके परिणामों को क्रमबद्ध किया जा सकता है। यह तब उपयोगी होता है जब कॉलम नाम लंबे, जटिल, या डायनामिक हों, या SELECT * उपयोग कर रहे हों। सिंटैक्स SELECT * FROM table_name ORDER BY column_position [ASC|DESC] [LIMIT n

  1. - MySQL में GREATEST/LEAST से दो कॉलम में जोड़ी की घटनाएं गिनें

    दो कॉलम में मानों की जोड़ी (क्रम की परवाह किए बिना) की घटनाएं गिनने के लिए GREATEST() और LEAST() फ़ंक्शन के साथ GROUP BY का उपयोग करें। उदाहरण: नाम जोड़े की घटनाएं गिनना 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable VALUES(Mike, Robert); -- उल्टा क्रम 3. डेटा देखें SELECT * FROM DemoT

  1. - MySQL में LEFT() फंक्शन का उपयोग करके केवल 15 वर्ण कैसे प्राप्त करें?

    MySQL में LEFT() फ़ंक्शन का उपयोग करके स्ट्रिंग के बाएं से निर्दिष्ट संख्या में वर्ण प्राप्त किए जा सकते हैं। ध्यान दें: यह शब्द नहीं, वर्ण गिनता है। सिंटैक्स LEFT(string, length) उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Title TEXT); mysql> INSERT INTO DemoTable VALU