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

MySQL में एम्परसैंड (&) के बजाय @ वेरिएबल का उपयोग करके क्वेरी में मान पास करना

Oracle के &variable सिंटैक्स का MySQL समकक्ष: यूज़र-डिफ़ाइंड वेरिएबल (@)

Oracle SQL*Plus में &var सब्स्टीट्यूशन वेरिएबल उपयोग होते हैं। MySQL में इसके बजाय @variable_name यूज़र-डिफ़ाइंड वेरिएबल का उपयोग करें।

सिंटैक्स

SET @var1 = value1, @var2 = value2, ...;
INSERT INTO yourTable VALUES (@var1, @var2, ...);

उदाहरण

CREATE TABLE Student_Information (
    StudentId INT,
    StudentName VARCHAR(100),
    StudentAge INT,
    StudentMarks INT,
    StudentCountryName VARCHAR(10)
);

SET @Id = 10001, @Name = 'Carol', @Age = 23, @Marks = 89, @CountryName = 'US';
INSERT INTO Student_Information VALUES (@Id, @Name, @Age, @Marks, @CountryName);

सत्यापन

SELECT * FROM Student_Information;
+-----------+-------------+------------+--------------+--------------------+
| StudentId | StudentName | StudentAge | StudentMarks | StudentCountryName |
+-----------+-------------+------------+--------------+--------------------+
| 10001     | Carol       | 23         | 89           | US                 |
+-----------+-------------+------------+--------------+--------------------+

मुख्य अंतर

Oracle (&)MySQL (@)
क्लाइंट-साइड सब्स्टीट्यूशनसर्वर-साइड सेशन वेरिएबल
प्रॉम्प्ट कर सकता हैकेवल SET से सेट होता है
स्क्रिप्ट में उपयोगीस्टोर्ड प्रोसीजर/ट्रिगर में भी काम करता है

बेस्ट प्रैक्टिस

  • एप्लिकेशन कोड (PHP, Java, Python) में प्रिपेयर्ड स्टेटमेंट (? प्लेसहोल्डर) उपयोग करें — यह SQL इंजेक्शन से बचाता है और प्रदर्शन बेहतर होता है।
  • यूज़र वेरिएबल (@) केवल एड-हॉक स्क्रिप्ट/टेस्टिंग के लिए उपयुक्त हैं।
  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)