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

MySQL फ़ील्ड को डिफ़ॉल्ट मान पर रीसेट करें?

<घंटा/>

MySQL में, दो दृष्टिकोण हैं जिनके द्वारा आप MySQL फ़ील्ड को डिफ़ॉल्ट मान पर रीसेट कर सकते हैं। एक डिफ़ॉल्ट कीवर्ड है और दूसरा डिफ़ॉल्ट () फ़ंक्शन है।

केस 1 :डिफ़ॉल्ट कीवर्ड का उपयोग करना। वाक्य रचना इस प्रकार है:

UPDATE yourTableName SET yourColumnName=default where yourCondition;

केस 2 :डिफ़ॉल्ट () फ़ंक्शन का उपयोग करना। वाक्य रचना इस प्रकार है:

UPDATE yourTableName SET yourColumnName=default(yourColumnName) where yourCondition;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:

mysql> create table Default_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> Age int,
   -> Salary float,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.73 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:

mysql> insert into Default_Demo(Name,Age,Salary) values('John',23,405.56);
Query OK, 1 row affected (0.18 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98);
Query OK, 1 row affected (0.22 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24);
Query OK, 1 row affected (0.09 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45);
Query OK, 1 row affected (0.20 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:

mysql> select *from Default_Demo;

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

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 | 405.56  |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 | 987.24  |
|  4 | Sam   |   24 | 986.1   |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David |   26 | 100.45  |
+----+-------+------+---------+
6 rows in set (0.00 sec)

यहाँ MySQL फ़ील्ड को डिफ़ॉल्ट मानों पर रीसेट करने के लिए क्वेरी है।

मामला 1: डिफ़ॉल्ट कीवर्ड का उपयोग करना। क्वेरी इस प्रकार है:

mysql> update Default_Demo set Age=Default where Id=6;
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

अब आप तालिका रिकॉर्ड की जांच कर सकते हैं, कॉलम आयु शून्य है जहां आईडी 6 है। क्वेरी इस प्रकार है:

mysql> select *from Default_Demo;

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

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 | 405.56  |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 | 987.24  |
|  4 | Sam   |   24 | 986.1   |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David | NULL | 100.45  |
+----+-------+------+---------+
6 rows in set (0.00 sec)

आईडी 6 को देखें जिसमें आयु कॉलम को डिफ़ॉल्ट मान NULL के साथ अपडेट किया गया है।

मामला 2: अब आप डिफ़ॉल्ट () फ़ंक्शन का भी उपयोग कर सकते हैं। यहां, वेतन कॉलम को डिफ़ॉल्ट मान के साथ अपडेट करें जहां आईडी 6 है। क्वेरी इस प्रकार है:

mysql> update Default_Demo set Salary=Default(Salary) where Id=6;
Query OK, 1 row affected (0.21 sec)
Rows matched: 1 Changed: 1 Warnings: 0

अब तालिका रिकॉर्ड की जाँच करें जहाँ Id 6 है।

mysql> select *from Default_Demo where Id=6;

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

+----+-------+------+--------+
| Id | Name  | Age  | Salary |
+----+-------+------+--------+
|  6 | David | NULL | NULL   |
+----+-------+------+--------+
1 row in set (0.00 sec)

वेतन कॉलम को देखें, डिफ़ॉल्ट मान NULL सफलतापूर्वक अपडेट किया गया है।


  1. MySQL में पहले विशिष्ट फ़ील्ड मान द्वारा ऑर्डर करें

    MySQL में पहले विशिष्ट फ़ील्ड मान द्वारा ऑर्डर करने के लिए, ORDER BY FIELD() का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable849(Color varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable849 मानों (ग्रीन) में डाल

  1. कॉलम मान को बदलने के लिए MySQL क्वेरी

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Score int);क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.45 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (स्कोर) मान (55) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.37 सेकंड) चय

  1. MySQL क्वेरी अल्पविराम की फ़ील्ड मान से गिनने के लिए?

    निम्नलिखित वाक्य रचना है - लंबाई चुनें(yourColumnName) - length(replace(yourColumnName, ,, )) as anyAliasName from yourTableName; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (6.75 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1510 मान (90,97,101,190) में