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

वर्तमान लेनदेन में किए गए परिवर्तन, MySQL डेटाबेस से स्थायी रूप से कैसे समाप्त किए जा सकते हैं?

<घंटा/>

हम MySQL डेटाबेस से, वर्तमान लेनदेन में किए गए परिवर्तनों को स्थायी रूप से समाप्त करने के लिए ROLLBACK कमांड का उपयोग कर सकते हैं। मान लीजिए अगर हम कुछ डीएमएल स्टेटमेंट चलाते हैं और यह कुछ डेटा ऑब्जेक्ट को अपडेट करता है, तो रोलबैक कमांड डेटाबेस से इन अपडेट को स्थायी रूप से खत्म कर देगा।

उदाहरण

मान लीजिए कि हमारे पास तालिका 'अंक' में निम्न डेटा है और हमने लेनदेन और रोलबैक कमांड को निम्नानुसार लागू किया है -

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|  1   | Aarav   | Maths   |  50   |
|  2   | Harshit | Maths   |  55   |
+------+---------+---------+-------+
2 rows in set (0.00 sec)

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO Marks Values(3, 'Rahul','History',40);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(4, 'Yashraj','English',48);
Query OK, 1 row affected (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.04 sec)

इस उदाहरण में, रोलबैक स्टेटमेंट स्पष्ट रूप से लेन-देन को समाप्त कर देगा और परिवर्तन वापस ले लिया जाएगा यानी डेटाबेस से स्थायी रूप से हटा दिया जाएगा।

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|  1   | Aarav   | Maths   |  50   |
|  2   | Harshit | Maths   |  55   |
+------+---------+---------+-------+
2 rows in set (0.00 sec)

  1. मैं पहली तालिका से मान के साथ दूसरी तालिका में मान जोड़कर किसी MySQL डेटाबेस तालिका में फ़ील्ड को कैसे अपडेट कर सकता हूं?

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1 (मान int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.59 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1 मानों में डालें(10);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित क

  1. मैं MySQL डेटाबेस में कॉलम से अद्वितीय रिकॉर्ड कैसे गिन सकता हूं?

    इसके लिए ग्रुप बाय को ग्रुप में गिनने के लिए एग्रीगेट फंक्शन काउंट (*) का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(UserName varchar(100), UserPostMessage text);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों

  1. MySQL में इसे हटाने के लिए वर्तमान डेटाबेस के नाम का उपयोग कैसे करें?

    वर्तमान डेटाबेस प्राप्त करने के लिए, आप SELECT DATABASE() - का उपयोग कर सकते हैं डेटाबेस चुनें (); निम्नलिखित वाक्य रचना है - सेट @anyVariableName =डेटाबेस (); चुनें आइए वर्तमान डेटाबेस प्राप्त करने और इसे हटाने के लिए उपरोक्त क्वेरी को निष्पादित करें - stmt निष्पादित करें; क्वेरी ओके, 0 पंक्तिया