यह ब्लॉग SQL की DDL, DML, DCL, TCL और DQL कमांड्स को आसान हिन्दी में समझाने के लिए लिखा गया है, ताकि हिंदी पाठकों को डेटाबेस की मूल बातें सरल शब्दों में मिल सकें।  

What is SQL Language in Hindi - SQL लैंग्वेज क्या है?

SQL का मतलब Structured Query Language है । इसका उपयोग database में data के साथ कार्य करने के लिए किया जाता है। आप SQL का उपयोग करके data को जोड़ , पढ़ , बदल या हटा सकते हैं। 

यह बहुत सरल है। कई  apps और websites अपने data को manage करने के लिए SQL Language का उपयोग करते हैं। इसका उपयोग पूरी दुनिया में किया जाता है। SQL Language कई Sublanguages से मिलकर बने होते हैं

Types of SQL Sublanguages in Hindi

SQL कई Sub languages का Collections है। प्रत्येक Sublanguage के अपने Syntax Rules, Commands Sets होते है।

इसलिए, डेटाबेस को ठीक से चलाने और सुरक्षित रखने के लिए सही Sub languages का इस्तेमाल करना जरूरी है।

ये Sublanguages निम्न है।

1) Data Definition Language (DDL) 
2) Data Manipulation Language (DML)
3) Data Control Language (DCL)
4) Transaction Control Language (TCL)
5) Data Query Language (DQL)


Data Definition Language (DDL) in Hindi 

DDL का पुरा नाम Data Definition Language है। यह Structured Query Language(SQL) का एक Subset है  इसका उपयोग एक database की संरचना (structure या schema) को बनाने और उसे बदलने के लिए किया जाता है। 

इसके माध्यम से आप tables का निर्माण कर सकतें है, उसे हटा सकते हैं या tables के design को बदल सकते हैं।यह table के अंदर उपस्थित data के साथ कार्य नहीं करता न कि उसकी structure के साथ 

उदाहरण के लिए यह आपको निर्णय लेने में मदद करता है की एक table में कितने columns होने चाहिए और प्रत्येक column में किस प्रकार के data store होनी चाहिए।  

DDL में निम्न Commands होते है।

CREATE

CREATE Statement का प्रयोग नए Database Objects जैसे Tables, Views, Indexs आदि का निर्माण करने के लिए किया जाता है।

Syntax:

CREATE TABLE table_name (
                     column1 datatype,
                     column2 datatype,
                     column3 datatype,
          ..........
   );

Example
CREATE TABLE workers (
    workers_id INT PRIMARY KEY,
    workers_name VARCHAR(50),
    phone VARCHAR(30),
    salary DECIMAL(10,2),    
);

ALTER

ALTER Statement का प्रयोग पहले से निमित Database Objects की Structure को Modify करने के लिए करते हैं।

जैसे आप ALTER Statement का Use करके आप Table में नए Column Add कर सकते है , Column को Remove या Delete कर सकते है Column के Data Type को Change कर सकते है।

Syntax:

ALTER TABLE table_name
ADD column_name datatype ; 

Example

ALTER TABLE employees 
ADD joining_date DATE;

RENAME

RENAME Statement का प्रयोग करके पहले से बने Database Objects जैसे Table, Views, Index को Rename या नाम बदल सकते है।

Syntax:

RENAME TABLE old_tablename TO new_tablename;

Example

RENAME TABLE employees TO employees1;

DROP

DROP Statement का प्रयोग करके पहले से बने Database Objects जैसे Table, Views, Index को Delete या Remove कर सकते है।

Syntax:

DROP TABLE table_name; 

Example:

DROP TABLE employees1; 

TRUNCATE

TRUNCATE Statement कर प्रयोग करके आप Table के सारे Data को Delete कर सकते है लेकिन यह Table के Structure को Delete नही करता है।

Syntax:

TRUNCATE TABLE table_name; 

Example:

TRUNCATE TABLE employees; 

COMMENT

यह Statement आपको अपने Database Objects जैसे Table, Views, Column में Comment Add करने की अनुमति देता है।

Syntax:

-- This is a comment in SQL

Example:

SELECT * FROM employees -- Retrieve data of all employees
WHERE department = 'Marketing' -- this statement only select employees from the Marketing department

ऊपर के Example में
-- Retrieve data of all employees और 
-- this statement only select employees from the Marketing department दोनो Comments हैै

Data Manipulation Language (DML) in Hindi 

DML का पूरा Data Manipulation Language है । यह भी SQL language का एक भाग है। इसका उपयोग एक डेटाबेस में संग्रहित  data के साथ कार्य करने के लिए किया जाता है।

यह हमे नए data को जोड़ने , पुराने data बदलने या हटाने में मदद करता है।DML, database की structure को define नहीं करता यह केवल table में संग्रहित data  के साथ कार्य करता है। 

इसका उपयोग प्रतिदिन के कारण जैसे नए records को जोड़ना, पुराने को बदलना जैसे कार्यों के लिए किया जाता है।  DML, डेटाबेस में संग्रहित data को मैनेज और उपयोग करना आसान बनाता है। यह data को सही और up to date बनाए रखता है।  

INSERT INTO

इस Command का प्रयोग एक Relational Database के Table में New Record या Data Insert करने के लिए करते है एक बार Table का निर्माण हो जानें के बाद आप INSERT INTO Statement की मदद से Table में एक Row या एक से अधिक Rows Values के साथ Insert कर सकते है।

Syntax:

INSERT INTO table_name (column1, column2, column3...) 
VALUES (value1, value2, value3...); 

Example:

INSERT INTO employees (name, post, salary) VALUES ('Amit', 'Manager', 50000);  

UPDATE

इस Command के द्वारा आप Existing (पहले से उपस्थित) Table के Row को Modify कर सकते है जैसे आप किसी की Salary बदल सकते है Mobile Number Change कर सकते है कोई भी Information जो Table मे है एक एक करके या एक साथ बदल सकते है।

Syntax:

UPDATE table_name 
SET column1 = value1,
column2 = value2,
column3 = value3, ... 
WHERE condition; 

Example:

UPDATE employees 
SET salary = 60000 
WHERE name = 'Amit'; 

DELETE FROM

इस Command का प्रयोग करके आप एक Table के एक या अधिक Rows या पूरे Rows को Data सहित Remove कर सकते है इसका प्रयोग तभी करना चाहिए जब आपको Table मे उपस्थित Data की बिल्कुल भी आवश्यकता नही  है।

Syntax:

DELETE FROM table_name 
WHERE condition; 

Example:

DELETE FROM employees 
WHERE name = 'Amit'; 

Data Control Language(DCL) in Hindi 

DCL भी SQL(Structure Query Language) का एक Subset है इसका प्रयोग एक Database की Security और Permission को Manage करने के लिए होता है। 

MySQL में DCL Statement का प्रयोग Database जैसे tables, views और stored procedures पर Access Control देने या लेने के लिए होता है 

अर्थात Database के object को Access करने के लिए  तथा Access न करने के लिए अधिकार दिया जा सकता है।

DCL Statement का प्रयोग कर Administrator यह सुनिश्चित करने मे करता है कि Database Secure हो तथा Sensitive Data को Unauthorized Access से बचाया जा सके DCL में निम्न Commands शामिल है।

GRANT

इस Command का Use करके आप एक Database Object जैसे Table View आदि के लिए Permission या Specific Previlege दे सकते है। 

इसमें आप Users को Database Objects के लिए Select, Update, Insert, Delete जैसे Statement पर Grant या permission दे सकते है ताकि Users उन Statements का प्रयोग कर सके जिस पर उसे कार्य करने का अधिकार मिला है।

Syntax:

GRANT privilege_type ON table_name TO user_name; 

Example:

GRANT SELECT, INSERT, UPDATE
ON employees TO Sumit; 

REVOKE

REVOKE Command GRANT Command के विपरित कार्य करता है जहां Grant Command Users को Database Objects पर कुछ Statement के द्वारा कार्य करने की अनुमति प्रदान करता है।

वहीं REVOKE उस अधिकार को वापस के लेता है जिससे Users Database Objects पर उस Statement के द्वारा कार्य नहीं कर सकता जो उससे REVOKE Command के द्वारा ले लिया गया है।

Syntax:

REVOKE privilege_type 
ON table_name
FROM user_name; 

Example:

REVOKE SELECT, INSERT ON employees FROM Sumit; 

Transaction Control Language (TCL) in Hindi 

TCL का पूरा नाम Transaction Control Language TCL है । इसका उपयोग database में SQL statement  द्वारा किए गए परिवर्तनों को नियंत्रित करने के लिए किया जाता है। 

यह सुनिश्चित करता है कि एक process की सभी steps को सही ढंग से पूरा होना है।  यदि कुछ गलत होता है तो यह process को रोक देता है और हुए बदलाव को निरस्त कर देता है। 

यह डेटाबेस को सुरक्षित और सही बनाए रखता है।  जब एक ही समय में कई बदलाव जैसे data को update या delete करना होता है उस समय TCL उपयोगी है।

TCL Commands एक Database के अंदर Data की Integrity तथा Consistency को सुनिश्चित करने के लिए आवश्यक है।

COMMIT

जब Database के एक Transaction में किसी प्रकार का Change करते है तब उसे Permanently Save करने के लिए Commit command का Use करते है 

एक Transaction एक या एक से अधिक SQL Statements का एक Sequence होता है जिसे किसी Work के Single Unit के समान Execute किया जाता है।

Example:

BEGIN TRANSACTION;
UPDATE employees 
SET salary=salary*1.2 WHERE department='Marketing';

ऊपर के Example में Transaction शुरू होता है तथा ऐसे लोगों की Salary मे 1.2 गुणा Increament  होगा जिसका Department Marketing है तथा Commit Command की सहायता से इस Transaction मे हुए बदलाव को Save कर लिया जायेगा।

SAVEPOINT

MySQL में SAVEPOINT एक Transaction के अंदर एक Marker के समान कार्य करता है। इसका प्रयोग उस समय किया जाता है।

 जब हम Transaction के पूरे भाग मे से कुछ भाग जहां Savepoint है तक Undo या कार्य को Cancel करना चाहते है।

Example:
BEGIN TRANSACTION;
UPDATE employees 
SET salary = salary * 1.1
WHERE post = 'Manager'; 
SAVEPOINT post_savepoint;
UPDATE employees 
SET salary = salary * 1.2 
WHERE post = 'Manager'; ROLLBACK TO post_savepoint; COMMIT; 

ऊपर के Example में Transaction शुरू होता है और Manager Post की Salary Update होती है उसके बाद हम post_savepoint नाम से Savepoint बनाते है। उसके बाद फिर से Manager Post की Salary को Update करते है।
 
अन्त मे हम post_savepoint पर Rollback करते है जिससे दूसरी salary Update के कार्य को Cancel या Undo कर देती है परंतु पहले मे हुए salary Update को बनाए रखती है अर्थात Manager Post की salary 1.1गुणा ही Increment होगी।

ROLLBACK

Rollback या Savepoint का Use करके हमने जो अपने Database Transaction मे हुए Change को Permanantly Save किए थे उसे हम ROLLBACK Command की सहायता से Cancel या Undo कर सकते है।

इसका अर्थ है कि Insert, Update या Delete Statement का प्रयोग करके Current Transaction में जो भी Change या Modification किए थे वे ROLLBACK Command के Use करने से Cancel या Undone हो जायेंगे।

Example:

BEGIN TRANSACTION;
UPDATE employees 
SET salary = 25000 WHERE eid = 4;
ROLLBACK;

ऊपर के Example में Transaction शुरू होता है और जिसकी eid 4 है उसकी salary 25000 Update करते है और फिर Transaction को Roll Back कर देते है जिससे Update Statement Undo हो जाता है और eid 4 की salary मे कोई बदलाव नही होता है।

Data Query Language (DQL) in Hindi 

DQL भी SQL का एक Subset है जिसका Use Database से Data को प्राप्त करने मे होता है DQL Commands का प्रयोग एक या एक से अधिक  Tables मे Queries को Perform कर Data प्राप्त करने के लिए किया जाता है जो दिए गए Criteria को पूरा करते है।

यह ध्यान रखना महत्त्वपूर्ण है कि DQL Commands, उन data को प्राप्त करने के लिए किया जाता है, जो दिए गए Criteria को पूरा करते है, यह Data को Modify नही करता है। Data के Modification के लिए DMl Commands Use किए जाते है।

SELECT

SELECT Statement का प्रयोग Database में कुछ Condition के आधार पर एक या एक से अधिक Table से Information प्राप्त करने के लिए होता है।

यह Statement SQL में ज्यादा Use किया जाता है Select Statement के साथ अन्य Clause जैसे From, Where, Order By, Group By, Having आदि Use किए जाते है।

Syntax:
SELECT column1, column2, ... FROM table_name WHERE condition; 

Example:
SELECT * 
FROM employees
WHERE department = 'Marketing'; 

 Related Posts
> SQL में Database, Create, Alter, Show Use और Drop करना
> SQL में Data Types की सम्पूर्ण जानकारी
> SQL में Table Create, Alter, Drop और Constraints की संपूर्ण जानकारी
> Insert, Select, Update, Delete (All DML commands) in MySQL & SQL
> SQL Operators की संपूर्ण जानकारी 
> SQL में Joins और Union Clause तथा उनके प्रकारों की सम्पूर्ण जा
नकारी