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

MySQL में ट्रिगर में DELIMITER//क्या करता है?

<घंटा/>

DELIMITER // का उपयोग कथन को अर्धविराम (;) से // में बदलने के लिए किया जा सकता है। अब आप एक ट्रिगर में सेमी-कोलन के साथ कई स्टेटमेंट लिख सकते हैं।

यहाँ ट्रिगर्स का डेमो है। इस उदाहरण में जब भी आप कर्मचारी वेतन 1000 से कम दर्ज करते हैं तो यह डिफ़ॉल्ट रूप से 10000 पर सेट हो जाएगा।

सबसे पहले, हम एक टेबल बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं EmployeeTable-> (-> EmployeeId int,-> EmployeeName varchar(100),-> EmployeeSalary float-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.76 सेकंड)

एक टेबल बनाने के बाद, आपको इन्सर्ट कमांड पर एक ट्रिगर बनाना होगा। ट्रिगर बनाने की क्वेरी इस प्रकार है।

mysql> delimiter //mysql> कर्मचारी तालिका पर डालने से पहले चेकसैलरी ट्रिगर बनाएं-> प्रत्येक पंक्ति के लिए यदि नया है। कर्मचारी वेतन <1000 फिर सेट-> नया। कर्मचारी वेतन =10000;-> समाप्त अगर;-> // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.40 सेकंड)mysql> सीमांकक;

अब आप इंसर्ट कमांड का उपयोग करके ट्रिगर की जांच कर सकते हैं। यदि आप कर्मचारी वेतन 1000 से कम डालते हैं, तो यह कोई त्रुटि नहीं देता है लेकिन यह एक डिफ़ॉल्ट मान संग्रहीत करेगा जो मैंने 10000 दिया है।

रिकॉर्ड डालने की क्वेरी इस प्रकार है -

mysql> EmployeeTable मानों में डालें(1,'कैरोल',500);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.25 सेकंड)

अब सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड्स की जांच करें। क्वेरी इस प्रकार है।

mysql> एम्प्लॉईटेबल से *चुनें;

निम्न आउटपुट है।

<पूर्व>+---------------+--------------+----------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी वेतन |+---------------+--------------+----------------+| 1 | कैरल | 10000 |+---------------+--------------+----------------+1 पंक्ति सेट में (0.00 सेकंड)

अगर आप 1000 या 1000 से ज्यादा डालेंगे तो यह सिर्फ आपका नंबर दिखाएगा। मैंने ट्रंकेट कमांड का उपयोग करके पिछले रिकॉर्ड को टेबल से हटा दिया है।

mysql> कर्मचारी तालिका को छोटा करें;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.44 सेकंड)

तालिका में रिकॉर्ड डालने की क्वेरी।

mysql> कर्मचारी तालिका मान (2, 'बॉब', 1000) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> कर्मचारी तालिका मानों में डालें (3, 'कैरोल', 2500); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड)

यहाँ चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड की जाँच करने के लिए क्वेरी है।

mysql> एम्प्लॉईटेबल से *चुनें;

निम्न आउटपुट है।

<पूर्व>+---------------+--------------+----------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी वेतन |+---------------+--------------+----------------+| 2 | बॉब | 1000 || 3 | कैरल | 2500 |+---------------+--------------+----------------+2 पंक्तियाँ सेट में (0.00 सेकंड)

उपरोक्त नमूना आउटपुट को देखें, कर्मचारी वेतन 1000 से अधिक या उसके बराबर है। इससे आपका वेतन मिलेगा। याद रखें, अगर यह 1000 से कम है तो डिफ़ॉल्ट मान 10000 पर सेट है।


  1. एक MySQL शून्य क्वेरी लागू करें जो कुछ भी नहीं करता है

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.47 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (माइक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्

  1. MySQL SELECT (COLNAME) में कोष्ठक का क्या अर्थ है?

    SELECT(COLNAME) का अर्थ है, हम उस कॉलम के लिए एक उपनाम बना रहे हैं। आइए एक उदाहरण देखें और एक टेबल बनाएं - टेबल बनाएं DemoTable865(FirstName varchar(100), LastName varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.77 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 865 मानो

  1. MySQL में सेलेक्ट @@identity क्या करता है?

    @@ पहचान वर्तमान सत्र में auto_increment कॉलम में अंतिम सम्मिलित मान लौटाती है। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.67 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें