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

MySQL ऑपरेटर प्रिसिडेंस (पूर्वता) का परिणाम सेट पर प्रभाव

MySQL ऑपरेटर्स का मूल्यांकन पूर्वता (precedence) क्रम में करता है। उच्च पूर्वता वाले ऑपरेटर्स पहले मूल्यांकित होते हैं। समान पूर्वता पर बाएं-से-दाएं।

ऑपरेटर पूर्वता क्रम (उच्च से निम्न)

INTERVAL
BINARY, COLLATE
!  (लॉजिकल NOT)
- (यूनरी माइनस), ~ (बिट इनवर्जन)
^  (बिटवाइज XOR)
*, /, DIV, %, MOD
-, +  (जोड़/घटाव)
<<, >>  (बिट शिफ्ट)
&    (बिटवाइज AND)
|    (बिटवाइज OR)
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
:=   (असाइनमेंट)

उदाहरण: पूर्वता प्रभाव

mysql> SELECT 5 + 3 / 2 - 2;
+---------+
| 5+3/2-2 |
+---------+
| 4.5000  |
+---------+

मूल्यांकन क्रम

  1. 3 / 2 = 1.5 (उच्च पूर्वता: /)
  2. 5 + 1.5 = 6.5 (+ और - समान पूर्वता, बाएं-से-दाएं)
  3. 6.5 - 2 = 4.5

स्पष्टता के लिए पैरेंथेसिस उपयोग करें

SELECT (5 + 3) / (2 - 2);  -- त्रुटि: शून्य से विभाजन
SELECT (5 + 3) / 2 - 2;    -- 4 - 2 = 2
SELECT 5 + (3 / 2) - 2;    -- 5 + 1.5 - 2 = 4.5 (डिफ़ॉल्ट)

सामान्य गलतियां

  • NOT a = b → (NOT a) = b नहीं NOT (a = b) — NOT (a = b) या a != b लिखें
  • a AND b OR c → (a AND b) OR c — इरादा a AND (b OR c) हो तो पैरेंथेसिस डालें
सर्वोत्तम अभ्यास: जटिल एक्सप्रेशन्स में हमेशा पैरेंथेसिस उपयोग करें — पठनीयता बढ़ती है और बग्स रोकता है।
  1. - MySQL में ऑटो-इन्क्रीमेंट मान को 1 से शुरू करने के लिए कैसे सेट करें

    TRUNCATE TABLE के साथ ऑटो-इन्क्रीमेंट रीसेट करना टेबल को ट्रंकेट करके ऑटो-इन्क्रीमेंट मान को 1 से पुनः आरंभ करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable VALUES ();

  1. - MySQL परिणाम सेट को निर्दिष्ट क्रम में कैसे बनाएं?

    परिचय MySQL में FIND_IN_SET() फंक्शन का उपयोग करके परिणाम सेट को विशिष्ट ID क्रम में क्रमबद्ध किया जा सकता है जो प्राकृतिक क्रम से अलग हो। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.52 sec) INSERT INTO DemoTable1563 VALUES(1020, Sam); Query OK, 1 row affected (0.14 sec) सभ

  1. - MySQL में performance_schema से SET ऑपरेटर से प्रारंभ सभी वेरिएबल सूचीबद्ध करें

    MySQL सत्र में SET @var = value से प्रारंभ किए गए सभी यूज़र-डिफ़ाइन्ड वेरिएबल देखने के लिए performance_schema.user_variables_by_thread टेबल क्वेरी करें। वेरिएबल सेट करें mysql> SET @FirstName = John; mysql> SET @LastName = Doe; सभी वेरिएबल सूचीबद्ध करें mysql> SELECT * FROM performance_sc