← Back to MySQL Course | Chapter 2: Databases & Tables | Lesson 7 of 7

ALTER TABLE

ALTER TABLE पहले से मौजूद एक chart में एक नया column add करने जैसा है, इसे दोबारा draw किए बिना या पहले से लिखी चीज़ें खोए बिना।
Syntax
sql
ALTER TABLE table_name ADD column_name datatype;

ALTER TABLE table_name DROP COLUMN column_name;

Columns Add करना

ALTER TABLE ... ADD आपको एक मौजूदा table में बिना उसे drop और recreate किए एक नया column insert करने देता है, दूसरे columns में पहले से stored सारा data preserve करते हुए।

नए columns को आमतौर पर nullable या एक DEFAULT value के साथ add किया जाता है, क्योंकि मौजूदा rows में नए add किए गए column के लिए कोई value नहीं होगी अन्यथा।

उदाहरण: Adding Columns

sql
ALTER TABLE users ADD email VARCHAR(100);

Columns हटाना

DROP COLUMN column definition और इसमें हर row के लिए stored हर value दोनों permanently delete कर देता है — इस operation का कोई partial या reversible version नहीं है। इस permanence की वजह से, production में एक DROP COLUMN चलाने से पहले किसी table (या कम से कम उस column के data) का backup लेना समझदारी है।

उदाहरण: Dropping Columns

sql
ALTER TABLE users DROP COLUMN email;

Column Data Types Modify करना

MODIFY किसी मौजूदा column का data type या size बदलता है, जैसे एक VARCHAR(50) को VARCHAR(100) तक widen करना ताकि पहले से stored data को छुए बिना लंबी values accommodate की जा सकें। किसी column की size घटाना चुपचाप मौजूदा values को truncate कर सकता है जो अब fit नहीं होतीं, इसलिए इसे हमेशा पहले current data के against check करना चाहिए।

उदाहरण: Modifying Column Data Types

sql
ALTER TABLE users MODIFY name VARCHAR(100);

⚠️ This is MySQL-specific syntax. It cannot run in the browser editor. Practice this on your local MySQL installation.

Columns Rename करना

RENAME COLUMN schema में सिर्फ column का नाम बदलता है; underlying stored values पूरी तरह untouched रहती हैं, इसलिए मौजूदा data rename के बाद बिना बदले survive करता है। कोई भी views, stored procedures, या application queries जो पुराने column name को string से reference करती हैं उन्हें भी अलग से update करना होगा।

उदाहरण: Renaming Columns

sql
ALTER TABLE users RENAME COLUMN name TO full_name;

Tables Rename करना

RENAME TO table का खुद का नाम बदलता है — एक schema refactor करते समय उपयोगी, हालाँकि याद रखें कि पुराने नाम को reference करने वाला कोई भी application code या foreign keys को भी update करना होगा। किसी column को rename करने के उलट, किसी table को rename करना उसके अंदर के data या column structure पर बिल्कुल कोई effect नहीं डालता।

उदाहरण: Renaming Tables

sql
ALTER TABLE users RENAME TO customers;
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. गलत column पर DROP COLUMN इस्तेमाल करना, जो हर row के लिए column और इसका सारा data delete कर देता है।
  2. MODIFY इस्तेमाल करना और पूरी column definition (जैसे NOT NULL) छोड़ देना, जो चुपचाप इसे हटा देता है।
  3. MODIFY से एक column shrink करना, जैसे VARCHAR(100) से VARCHAR(10), जब मौजूदा लंबी values एक error या truncation का कारण बनती हैं।
चैप्टर सारांश
  • CREATE DATABASE, DROP DATABASE, और USE एक database create, remove, और select करते हैं।
  • CREATE TABLE, DROP TABLE, और TRUNCATE TABLE tables create, remove, और empty करते हैं।
  • ALTER TABLE किसी मौजूदा table का structure बदलता है।
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.