मुख्य सामग्री पर जाएं

SQL DDL Commands: The Definitive Guide

SQL DDL कमांड्स के बारे में जानें और वे डेटाबेस ऑब्जेक्ट्स की संरचना को परिभाषित और प्रबंधित करने में कैसे मदद करते हैं।
अपडेट किया गया 25 सित॰ 2026  · 11 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

डेटाबेस से इनसाइट्स प्राप्त करने के लिए डेटा वैज्ञानिकों और डेटा इंजीनियरों के लिए SQL अनिवार्य है। एक डेटाबेस कई टेबलों से बना होता है, और SQL की अलग-अलग शैलियाँ होती हैं—PostgreSQL से लेकर Snowflake तक।

SQL में Data Definition Language (DDL) कमांड्स का उपयोग डेटाबेस ऑब्जेक्ट्स की संरचना को परिभाषित और प्रबंधित करने के लिए किया जाता है। इस लेख में मैं Movies Database का उपयोग करते हुए उदाहरणों के साथ SQL में DDL कमांड्स समझाऊँगा। आइए शुरू करें!

SQL में DDL कमांड्स क्या हैं?

Data Definition Language (DDL) कमांड्स मुझे SQL में एक स्कीमा परिभाषित और प्रबंधित करने देते हैं। संक्षेप में, SQL में स्कीमा एक ब्लूप्रिंट है जो बताता है कि डेटाबेस में डेटा कैसे संगठित है और डेटाबेस के भीतर विभिन्न टेबलों के बीच संबंध कैसे प्रबंधित किए जाते हैं।

DDL कमांड्स कई अलग-अलग कमांड्स से मिलकर बने होते हैं जिनकी विभिन्न कार्यक्षमताएँ होती हैं, जिन्हें मैं निम्न क्रम में चर्चा करूँगा:

DDL Command

DESCRIPTION

SYNTAX

CREATE

टेबल और उसके कॉलम उनके डेटा टाइप के साथ बनाएँ।

CREATE TABLE

ALTER

कॉलम नामों में संशोधन करें और कोई कॉलम जोड़ें या हटाएँ।

ALTER TABLE

RENAME

टेबल का नाम बदलें।

RENAME TABLE

COMMENT

अन्य टीम सदस्यों की समीक्षा के लिए SQL कोड में स्पष्टीकरण जोड़ें।

--

/* …

…*/

TRUNCATE

टेबल को हटाए बिना उससे डेटा निकाल दें।

TRUNCATE TABLE

DROP

टेबल और उसके डेटा को हटा दें।

DROP TABLE

उदाहरणों के साथ SQL में DDL कमांड्स

अब जब हमें DDL कमांड्स और उनके उद्देश्यों की बुनियादी समझ है, तो आइए Movies डेटाबेस का उपयोग करके कुछ व्यावहारिक उदाहरण देखें।

SQL में CREATE कमांड

जब मुझे एक नया टेबल बनाना होता है, तो मैं नीचे दिखाए अनुसार CREATE TABLE कमांड का उपयोग करता/करती हूँ:

CREATE TABLE table_name (
    column_1 datatype,
    column_2 datatype,
    ...,
    column_n datatype
);

ऊपर के उदाहरण में, मैं अलग-अलग डेटा टाइप्स के साथ कॉलम परिभाषित करता/करती हूँ। SQL कई प्रकार के डेटा टाइप्स को सपोर्ट करता है, यद्यपि सबसे सामान्य प्रकार आमतौर पर STRING (टेक्स्ट), INT (पूर्णांक), FLOAT (दशमलव संख्या), और DATE (तारीख) होते हैं।

उदाहरण के लिए, यदि मैं actor टेबल बनाना चाहता/चाहती, तो मैं इस प्रकार CREATE TABLE का उपयोग करता/करती:

CREATE TABLE actor (
    actor_id String(32767),
    first_name String(32767),
    last_name String(32767),
    last_update String(32767)
);

जहाँ:

  • actor टेबल का नाम है
  • actor_id एक कॉलम नाम है जिसका कंटेंट टेक्स्ट फॉर्मेट (String) में अपेक्षित है और 32767 अक्षरों से अधिक नहीं होगा।
  • first_name एक कॉलम नाम है जिसका कंटेंट टेक्स्ट फॉर्मेट (String) में अपेक्षित है और 32767 अक्षरों से अधिक नहीं होगा।
  • last_name एक कॉलम नाम है जिसका कंटेंट टेक्स्ट फॉर्मेट (String) में अपेक्षित है और 32767 अक्षरों से अधिक नहीं होगा।
  • last_update एक कॉलम नाम है जिसका कंटेंट टेक्स्ट फॉर्मेट (String) में अपेक्षित है और 32767 अक्षरों से अधिक नहीं होगा।

क्वेरी निष्पादित करने पर नया टेबल अन्य टेबलों के साथ दिखाई देगा, ताकि मैं कभी भी उससे क्वेरी कर सकूँ।

SQL में ALTER कमांड

ALTER का उपयोग करके मैं किसी टेबल को बिना नया टेबल बनाए और पुराने को हटाए अपडेट कर सकता/सकती हूँ। संगठनों में हज़ारों टेबल हो सकते हैं, और डेटा को बिना हानि के अद्यतन रखना आना आवश्यक है।

यह ध्यान रखना महत्वपूर्ण है कि ALTER के कई उपयोग हैं—जैसे कि:

  • टेबल में नए कॉलम जोड़ना
  • टेबल में कॉलम का नाम बदलना
  • टेबल में कॉलम को संशोधित करना
  • टेबल में कॉलम हटाना

ALTER में ADD कमांड

ALTER का उपयोग करके नया कॉलम जोड़ने के लिए, हम ALTER कमांड को ADD कमांड के साथ जोड़ते हैं, जैसा कि नीचे दिखाया गया है:

ALTER TABLE table_name ADD column_name datatype;

यहाँ, हम actor टेबल में nationality नाम का नया कॉलम STRING डेटा टाइप के साथ जोड़ते हैं।

ALTER TABLE actor ADD nationality String(32767);

SQL में सभी ALTER कमांड्स एक समान संरचना का पालन करते हैं, जिससे SQL सीखना और उस पर महारत हासिल करना स्वाभाविक लगता है।

ALTER में RENAME कमांड

जब भी मुझे किसी कॉलम का नाम बदलना होता है, तो मैं ALTER में RENAME कमांड का इस प्रकार उपयोग करता/करती हूँ:

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

उदाहरण के लिए, चलिए last_name कॉलम का नाम बदलकर family_name कर देते हैं ताकि यह स्पष्ट रहे कि यह मिडल नेम है या सरनेम। उस स्थिति में, मैं निम्न क्वेरी चलाऊँगा/चलाऊँगी:

ALTER TABLE actor RENAME COLUMN last_name TO family_name;

ALTER में MODIFY कमांड

डेटा टाइप्स कॉलम की विशेषताएँ परिभाषित करते हैं और डेटा की गुणवत्ता को प्रभावित करते हैं। उदाहरण के लिए, last_update को String(text) सेट किया गया था, लेकिन डेटा स्पष्ट रूप से दिनांक और समय को दर्शाता है।

विभिन्न डेटा टाइप्स देखते हुए और कॉलम के डेटा का संदर्भ लेते हुए, उपयुक्त डेटा टाइप TIMESTAMP है।

किसी कॉलम के डेटा टाइप को उपयुक्त रूप से अपडेट करने से दिनांक के आधार पर अन्य SQL कमांड्स का उपयोग करके डेटा को एग्रीगेट और फ़िल्टर करना आसान हो जाता है। SQL में MODIFY का उपयोग इस प्रकार करें:

ALTER TABLE table_name ALTER COLUMN column_name datatype;

इसे last_update पर लागू करते हुए, मैं निम्न क्वेरी का उपयोग करता/करती हूँ:

ALTER TABLE actor ALTER COLUMN last_update TIMESTAMP;

ALTER में DROP कमांड

ALTER जो आखिरी विकल्प देता है, वह कॉलम हटाना है। कई कारण हो सकते हैं जिनकी वजह से मुझे कोई कॉलम DROP करना पड़े, जिनमें शामिल हैं, लेकिन सीमित नहीं हैं:

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

SQL में कॉलम हटाना आसान है, लेकिन इसे सावधानी से उपयोग करें क्योंकि कॉलम हटाने की क्रिया को हमेशा उलटा पाना संभव नहीं होता।

ALTER TABLE table_name DROP COLUMN column_name;

कॉलम हटाने का कमांड कॉलम का नाम बदलने जैसा दिखता है, लेकिन दोनों एक जैसे नहीं हैं। कॉलम का नाम बदलने पर डेटा कॉलम में बना रहता है पर हेडर बदल जाता है। दूसरी ओर, DROP कमांड डेटा और हेडर—दोनों को हटा देता है, मानो कॉलम कभी था ही नहीं।

last_update कॉलम से यह एहसास होने के बाद कि यह डेटाबेस रिफ्रेश होने के अलावा बहुत कम जानकारी देता है, मैंने इसे निम्न क्वेरी से हटा दिया:

ALTER TABLE actor DROP COLUMN last_update; 

SQL में RENAME कमांड

RENAME कमांड केवल टेबल का नाम बदलने पर लागू होता है और इसे ALTER की RENAME क्षमता से भ्रमित नहीं करना चाहिए। दरअसल, किसी टेबल का नाम बदलने के लिए क्वेरी बस इतनी है:

RENAME TABLE old_table_name TO new_table_name;

actor टेबल में केवल नाम हैं और उसमें अभिनेताओं के बारे में अन्य जानकारी शामिल नहीं है। अतः इसे स्पष्ट करने के लिए टेबल का नाम बदलकर यह करना समझ में आता है:

RENAME TABLE actor TO actor_names;

SQL में COMMENT

SQL में कमेंटिंग स्पष्टता और संदर्भ के लिए महत्वपूर्ण है, जिससे आपकी क्वेरियाँ समझने और मेंटेन करने में आसान हो जाती हैं। यह जटिल लॉजिक समझाने, बदलावों का दस्तावेज़ बनाने और कुछ विकल्पों का औचित्य बताने में मदद करता है। SQL में आप दो तरीकों से कमेंट जोड़ सकते हैं:

  • सिंगल-लाइन कमेंट्स
  • मल्टी-लाइन कमेंट्स

आइए इन्हें क्रियान्वयन में देखें।

SQL में सिंगल-लाइन कमेंटिंग

एक पंक्ति पर कमेंटिंग आमतौर पर कोड के साथ ही की जाती है, जैसा कि नीचे है। इस तरह, मैं कोड पढ़ते समय किसी सहकर्मी की टिप्पणी भी पढ़ सकता/सकती हूँ।

actor टेबल में, actor_id और last_update सहज नहीं हैं और कमेंट के जरिये स्पष्टीकरण की आवश्यकता है।

CREATE TABLE actor (
 actor_id String(32767), --unique identifier
 first_name String(32767),
 last_name String(32767),
 last_update String(32767)--datetime of last update
);

SQL में कमेंटिंग इस लेख के बाकी कमांड्स से अलग है क्योंकि यह COMMENT नाम का कोई फ़ंक्शन नहीं बुलाती। बिना स्पेस के दो हाइफ़न ‘--’ कमेंट की शुरुआत दिखाते हैं। इसके बाद लिखा गया कुछ भी कोड का हिस्सा नहीं माना जाएगा।

SQL में मल्टी-लाइन कमेंटिंग

जब स्पष्टीकरण लंबा हो, तो मल्टी-लाइन कमेंट्स का उपयोग करें। यह किसी फ़ंक्शन को समझाने या विस्तृत संदर्भ देने के लिए उपयुक्त है। SQL में मल्टी-लाइन कमेंट जोड़ने के लिए /* से शुरू करें और */ पर समाप्त करें। /* और */ के बीच लिखा गया कुछ भी SQL इंजन अनदेखा कर देता है और वह क्वेरी का हिस्सा बनकर निष्पादित नहीं होता।

/* Create a table `actor` with the actors’ names. Store first and last name, and keep track of any updates*/
CREATE TABLE actor (
 actor_id String(32767), --unique internal identifier
 first_name String(32767),
 last_name String(32767),
 last_update String(32767)--datetime of last update
);

SQL में TRUNCATE कमांड

किसी टेबल को ट्रंकेट करना उसे डिलीट करने जैसा नहीं है। ट्रंकेट करने पर समस्त डेटा हट जाता है, लेकिन टेबल की संरचना जस की तस रहती है; जबकि डिलीट करने पर टेबल और उसकी संरचना—दोनों हट जाते हैं। उपयुक्त उद्देश्य के लिए सही कमांड चुनते समय सावधानी बरतनी चाहिए।

TRUNCATE का समकक्ष Excel में उस कॉलम नाम के नीचे के सभी डेटा का चयन कर डिलीट दबाने से हासिल किया जा सकता है। SQL में, मैं लिखता/लिखती हूँ:

TRUNCATE TABLE table_name;

यदि actor को ट्रंकेट करने की आवश्यकता हो, तो मैं यह चलाता/चलाती हूँ:

TRUNCATE TABLE actor;

परिणामस्वरूप एक ऐसा टेबल होगा जिसमें केवल कॉलम नाम होंगे और कोई मान नहीं।

SQL में DROP कमांड

TRUNCATE के विपरीत, DDL कमांड DROP टेबल और उसके सभी मानों को पूरी तरह डिलीट कर देता है। ऐसे कमांड्स चलाते समय सावधान रहना चाहिए, क्योंकि यह क्रिया हमेशा उलटी नहीं की जा सकती। DROP कमांड की संरचना TRUNCATE क्वेरी जैसी ही होती है:

DROP TABLE table_name;

इसलिए actor टेबल को डिलीट करना इतना ही सरल है

DROP TABLE actor;

यद्यपि SQL की अलग-अलग शैलियों में सिंटैक्स में थोड़े बहुत बदलाव की आवश्यकता हो सकती है, ऊपर दिए गए DDL कमांड्स अधिकांशतः किसी भी संस्करण में समान रहते हैं।

DDL कमांड्स बनाम अन्य प्रकार के कमांड्स

पिछले खंड में, मैंने समझाया कि DDL कमांड्स टेबलों की संरचना परिभाषित करते हैं और आवश्यकता अनुसार उनकी सामग्री या गुण अपडेट करते हैं। अन्य प्रकार के SQL कमांड्स डेटा को चयनित, एग्रीगेट, अपडेट, और यहाँ तक कि टेबलों को जॉइन करके डेटा पर अलग दृष्टिकोण देने की अनुमति देते हैं, और हर कमांड सेट का एक विशिष्ट उद्देश्य होता है।

Command

Definition

Purpose

DQL

Data Query Language

किसी मानदंड के आधार पर डेटाबेस से डेटा प्राप्त करें

DML

Data Manipulation Language

ALTER से अधिक कार्यक्षमता के साथ डेटाबेस में टेबलों में बदलाव करें।

DCL

Data Control Language

एक्सेस और अथॉरिटी पर अनुमति नियंत्रण।

TCL

Transaction Control Language

DML कमांड्स से किए गए बदलावों के साथ डेटाबेस को अपडेट करता है

DataCamp के साथ अपने SQL कौशल विकसित करें

अच्छी डेटा गुणवत्ता तब हासिल होती है जब डेटा अच्छी तरह परिभाषित और संरचित हो। SQL में DDL कमांड्स डेटा प्रोफेशनल्स को एक संरचित डेटाबेस बनाने और बनाए रखने में मदद करते हैं। अन्य SQL कमांड्स, जैसे DML कमांड्स, आपको डेटा देखने, एग्रीगेट करने, इन्सर्ट करने, फ़िल्टर करने और मर्ज करने देते हैं। SQL के बारे में और जानें और निम्न संसाधनों का अन्वेषण करके अपने कौशल बनाएं:


Deandra Cutajar's photo
Author
Deandra Cutajar
LinkedIn

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

विषय
SQL

आज ही अपना SQL सफर जारी रखें!

कोर्स

SQL परिचय

2 घंटा
1.6M
SQL से रिलेशनल डेटाबेस बनाना और क्वेरी करना सिर्फ दो घंटों में सीखें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

इंटरमीडिएट SQL

4 घंटा
527.3K
हर कदम पर व्यावहारिक अभ्यास क्वेरीज़ के साथ, यह पाठ्यक्रम आपको आज ही अपने SQL कोड से डेटा का विश्लेषण करने के लिए ज़रूरी सब कुछ सिखाता है!

कोर्स

SQL में Data Manipulation

4 घंटा
337.2K
जटिल SQL क्वेरियों में महारत हासिल करें, डेटा विज्ञान के विविध प्रश्नों के उत्तर दें और PostgreSQL में विश्लेषण के लिए मजबूत डेटा सेट तैयार करें।
और देखेंRight Arrow