MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

क्या है?

जैसा कि कहा जाता है कि परिवर्तन एकमात्र स्थिर है

समय के साथ-साथ व्यावसायिक आवश्यकताओं में भी परिवर्तन होता है। जैसे-जैसे व्यावसायिक आवश्यकताएं बदलती हैं, डेटाबेस डिजाइनों को भी बदलने की आवश्यकता होती है।

MySQL ALTER फ़ंक्शन प्रदान करता है जो हमें पहले से मौजूद डेटाबेस डिज़ाइन में परिवर्तनों को शामिल करने में मदद करता है ।

परिवर्तन आदेश का उपयोग मौजूदा डेटाबेस, तालिका, दृश्य या अन्य डेटाबेस ऑब्जेक्ट को संशोधित करने के लिए किया जाता है, जिसे डेटाबेस के जीवन चक्र के दौरान बदलना पड़ सकता है।

मान लीजिए कि हमने अपना डेटाबेस डिज़ाइन पूरा कर लिया है और इसे लागू कर दिया गया है। हमारे डेटाबेस उपयोगकर्ता इसका उपयोग कर रहे हैं और तब उन्हें पता चलता है कि डिजाइन चरण में कुछ महत्वपूर्ण जानकारी को छोड़ दिया गया था। वे मौजूदा डेटा को खोना नहीं चाहते हैं, लेकिन नई जानकारी को शामिल करना चाहते हैं। ऐसी स्थितियों में परिवर्तन कमांड काम आती है। हम फ़ील्ड के डेटा प्रकार को स्ट्रिंग से लेकर न्यूमेरिक तक बदलने के लिए परिवर्तन कमांड का उपयोग कर सकते हैं, फ़ील्ड नाम को नए नाम में बदल सकते हैं या किसी तालिका में नया कॉलम भी जोड़ सकते हैं।

अल्टर- वाक्य रचना

पहले से मौजूद तालिका में एक कॉलम जोड़ने के लिए उपयोग किए जाने वाले मूल सिंटैक्स को नीचे दिखाया गया है

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

यहां

  • "ALTER TABLE` table_name` " कमांड है जो MySQL सर्वर को` table_name` नामक तालिका को संशोधित करने के लिए कहता है।
  • "ADD COLUMN` column_name` `data_type`" कमांड है जो MySQL सर्वर को डेटा कॉलम `data_type 'के साथ` column_name` नामक एक नया कॉलम जोड़ने के लिए कहता है।

मान लीजिए कि Myflix ने ऑनलाइन बिलिंग और भुगतान शुरू किए हैं। उस छोर पर, हमें अपने सदस्यों की तालिका में क्रेडिट कार्ड नंबर के लिए एक फ़ील्ड जोड़ने के लिए कहा गया है। हम ऐसा करने के लिए ALTER कमांड का उपयोग कर सकते हैं। आइए किसी भी संशोधन करने से पहले सदस्यों की तालिका की संरचना देखें। नीचे दी गई स्क्रिप्ट हमें ऐसा करने में मदद करती है।

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

हम सदस्य तालिका में एक नया क्षेत्र जोड़ने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

MySQLixdb के खिलाफ MySQL में उपरोक्त स्क्रिप्ट को निष्पादित करने से डेटा कार्ड के रूप में VARCHAR के साथ सदस्यों की तालिका में क्रेडिट कार्ड नंबर नामक एक नया कॉलम जुड़ जाता है। शो कॉलम स्क्रिप्ट को निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

जैसा कि आप लौटाए गए परिणामों से देख सकते हैं, क्रेडिट कार्ड नंबर को सदस्य तालिका में जोड़ दिया गया है। नए कॉलम के जुड़ने से सदस्यों के डेटा में मौजूद डेटा प्रभावित नहीं होता है।

ड्रॉप कम्युनिटी क्या है?

DROP कमांड का उपयोग किया जाता है

  1. MySQL सर्वर से डेटाबेस हटाएं
  2. किसी ऑब्जेक्ट (जैसे तालिका, स्तंभ) को डेटाबेस से हटाएं।

आइए अब उन व्यावहारिक उदाहरणों को देखें जो DROP कमांड का उपयोग करते हैं।

ऑल्टर कमांड पर हमारे पिछले उदाहरण में, हमने क्रेडिट कार्ड नंबर नामक एक कॉलम को सदस्य तालिका में जोड़ा।

मान लीजिए कि ऑनलाइन बिलिंग कार्यक्षमता में कुछ समय लगेगा और हम क्रेडिट कार्ड कॉलम को छोड़ देना चाहते हैं

हम निम्नलिखित स्क्रिप्ट का उपयोग कर सकते हैं

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

उपरोक्त स्क्रिप्ट को निष्पादित करने से सदस्य तालिका से कॉलम credit_card_number ड्रॉप हो जाता है

आइए अब इस बात की पुष्टि करने के लिए कि हमारे स्तंभ को गिरा दिया गया है या नहीं, इसकी पुष्टि करने के लिए सदस्य तालिका के कॉलम देखें।

SHOW COLUMNS FROM `members`;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के खिलाफ निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ध्यान दें कि क्रेडिट कार्ड नंबर को फ़ील्ड सूची से हटा दिया गया है।

ड्रॉप तालिका

डेटाबेस से एक तालिका ड्रॉप करने का सिंटैक्स इस प्रकार है -

DROP TABLE `sample_table`;

Let'look एक उदाहरण पर

DROP TABLE `categories_archive`;

उपरोक्त स्क्रिप्ट को निष्पादित करने से हमारे डेटाबेस से `श्रेणियां_आर्काइव` नाम की तालिका हटा दी जाती है।

RENAME COMMAND क्या है?

मौजूदा डेटाबेस ऑब्जेक्ट का नाम (जैसे तालिका, कॉलम) का नाम बदलकर एक नया नाम रखने के लिए नाम बदलें आदेश का उपयोग किया जाता है ।

किसी तालिका का नाम बदलने से ऐसा नहीं होता कि कोई डेटा खो जाए।

वाक्य - विन्यास:-

नाम बदलें कमांड में निम्नलिखित मूल सिंटैक्स होता है।

RENAME TABLE `current_table_name` TO `new_table_name`;

चलिए मान लेते हैं कि हम मूवी टेबल पर मूवी के लिए मूवमेंट टेबल का नाम बदलना चाहते हैं, हम इसे प्राप्त करने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।

RENAME TABLE `movierentals` TO `movie_rentals`;

उपरोक्त स्क्रिप्ट को निष्पादित करने से तालिका का नाम बदलकर `Movierentals` से` movie_rentals` हो जाता है।

अब हम फिल्म का नाम बदलकर उसके मूल नाम पर रख देंगे।

RENAME TABLE `movie_rentals` TO `movierentals`;

बदलें बदलें

कीवर्ड बदलें आपको अनुमति देता है

  1. कॉलम का नाम बदलें
  2. कॉलम डेटा प्रकार बदलें
  3. कॉलम की बाधाओं को बदलें

आइए एक उदाहरण देखें। सदस्यों की तालिका में पूरा नाम फ़ील्ड varchar डेटा प्रकार का है और इसकी चौड़ाई 150 है।

SHOW COLUMNS FROM `members`;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के खिलाफ निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

मान लीजिए हम चाहते हैं

  1. फ़ील्ड नाम को "full_names" से "fullname" में बदलें
  2. इसे 250 की चौड़ाई के साथ char data type में बदलें
  3. एक नहीं पूरी बाधा जोड़ें

हम परिवर्तन कमांड का उपयोग करके इसे पूरा कर सकते हैं -

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के खिलाफ निष्पादित करना और फिर ऊपर दिए गए शो कॉलम स्क्रिप्ट को निष्पादित करना निम्नलिखित परिणाम देता है।

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

आधुनिक कुंजी

MODIFY कीवर्ड आपको अनुमति देता है

  1. कॉलम डेटा प्रकार संशोधित करें
  2. कॉलम की बाधाओं को संशोधित करें

ऊपर दिए गए CHANGE उदाहरण में, हमें फ़ील्ड का नाम और अन्य विवरण बदलना होगा। CHANGE कथन से फ़ील्ड नाम को छोड़ना एक त्रुटि उत्पन्न करेगा। मान लें कि हम केवल फ़ील्ड नाम को प्रभावित किए बिना फ़ील्ड पर डेटा प्रकार और बाधाओं को बदलने में रुचि रखते हैं, हम इसे पूरा करने के लिए MODIFY कीवर्ड का उपयोग कर सकते हैं।

नीचे दी गई स्क्रिप्ट 250 से 50 तक "पूर्णनाम" फ़ील्ड की चौड़ाई बदलती है।

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के खिलाफ निष्पादित करना और फिर ऊपर दिए गए शो कॉलम स्क्रिप्ट को निष्पादित करने से नीचे दिखाए गए निम्न परिणाम मिलते हैं।

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

कुंजी के बाद

मान लीजिए कि हम तालिका में एक विशिष्ट स्थान पर एक नया कॉलम जोड़ना चाहते हैं।

हम AFTER कीवर्ड के साथ बदल कमांड का उपयोग कर सकते हैं।

नीचे दी गई स्क्रिप्ट सदस्य तालिका में जन्म तिथि के ठीक बाद "date_of_registration" जोड़ता है।

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के खिलाफ निष्पादित करना और फिर ऊपर दिए गए शो कॉलम स्क्रिप्ट को निष्पादित करने से नीचे दिखाए गए निम्न परिणाम मिलते हैं।

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

सारांश

  • परिवर्तन कमांड का उपयोग तब किया जाता है जब हम डेटाबेस या डेटाबेस में निहित किसी वस्तु को संशोधित करना चाहते हैं।
  • ड्रॉप कमांड का उपयोग डेटाबेस के भीतर MySQL सर्वर या ऑब्जेक्ट से डेटाबेस को हटाने के लिए किया जाता है।
  • नाम का उपयोग तालिका के नाम को नए तालिका नाम में बदलने के लिए किया जाता है।
  • परिवर्तन कीवर्ड आपको कॉलम नाम, डेटा प्रकार और बाधाओं को बदलने की अनुमति देता है
  • संशोधित कीवर्ड आपको कॉलम डेटा प्रकार और बाधाओं को संशोधित करने की अनुमति देता है
  • कीवर्ड का उपयोग किसी तालिका में स्तंभ की स्थिति निर्दिष्ट करने के लिए किया जाता है