SQL चीट शीट कमांड और निर्देश के साथ Descriptआयन (2026)

⚡ स्मार्ट सारांश

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

  • संरचना कमांड: CREATE DATABASE, CREATE TABLE, ALTER, RENAME और DROP कमांड स्कीमा को परिभाषित और पुनर्गठित करते हैं।
  • 🔢 जानकारी का प्रकार: संख्यात्मक, पाठ, दिनांक और बाइनरी प्रकार प्रत्येक कॉलम के संग्रहण आकार और मान्य सीमा को निर्धारित करते हैं।
  • 🔎 पुनर्प्राप्ति आदेश: WHERE, IN, LIKE और REGEXP के साथ SELECT क्वेरी परिणाम सेट को उन पंक्तियों तक सीमित कर देती है जो महत्वपूर्ण हैं।
  • ✍️ संशोधन आदेश: INSERT, UPDATE और DELETE संग्रहीत पंक्तियों को बदलते हैं, और प्रत्येक एक वैकल्पिक शर्त को स्वीकार करता है।
  • 📊 एग्रीगेशन कमांड: COUNT, MIN, MAX, SUM के साथ GROUP BY करें और AVG यह डेटा का सारांश प्रस्तुत करता है, और HAVING समूहों को फ़िल्टर करता है।
  • 🔗 संयोजन कमांड: JOIN दो क्वेरी के परिणामों को एक साथ रखने के बजाय, तालिकाओं को अगल-बगल मर्ज करता है।

एसक्यूएल चीट शीट

डेटाबेस और तालिका आदेश बनाएँ

प्रत्येक SQL सत्र एक डेटाबेस और पंक्तियों को रखने के लिए कम से कम एक तालिका के साथ शुरू होता है।

आदेश विवरण
CREATE DATABASE database1; डेटाबेस बनाएँ
CREATE DATABASE IF NOT EXISTS database1; IF NOT EXISTS आपको निर्देश देने की अनुमति देता है MySQL डेटाबेस बनाने से पहले सर्वर को समान नाम वाले डेटाबेस के अस्तित्व की जांच करनी चाहिए।
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; latin1 वर्ण सेट latin1_swedish_ci कोलेशन का उपयोग करता है, जो स्वीडिश का केस-असंवेदनशील क्रम है।
SHOW DATABASES; आप इस SQL ​​कमांड को चलाकर मौजूदा डेटाबेस की सूची देख सकते हैं।
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; तालिका सिंटैक्स बनाएँ

SQL डेटा प्रकार चीट शीट

किसी कॉलम का डेटा प्रकार यह निर्धारित करता है कि वह क्या संग्रहीत कर सकता है और प्रत्येक पंक्ति कितनी जगह लेती है।

संख्यात्मक डेटा प्रकार

आदेश विवरण
TINYINT( ) -128 से 127 सामान्य, 0 से 255 अहस्ताक्षरित।
SMALLINT( ) -32768 से 32767 सामान्य
0 से 65535 तक हस्ताक्षर रहित.
MEDIUMINT( ) -8388608 से 8388607 सामान्य
0 से 16777215 तक हस्ताक्षर रहित.
INT( ) -2147483648 से 2147483647 सामान्य
0 से 4294967295 तक हस्ताक्षर रहित.
BIGINT( ) -9223372036854775808 से 9223372036854775807 सामान्य
0 से 18446744073709551615 तक हस्ताक्षर रहित.
FLOAT एक अस्थायी दशमलव बिंदु के साथ एक छोटी अनुमानित संख्या।
DOUBLE( , ) एक बड़ी अनुमानित संख्या जिसमें दशमलव बिंदु स्थिर नहीं होता है।
DECIMAL( , ) एक सटीक निश्चित-बिंदु संख्या। मुद्रा मूल्यों को संग्रहित करने के लिए पसंदीदा विकल्प।

पाठ डेटा प्रकार

आदेश विवरण
CHAR( ) एक निश्चित लंबाई का खंड, जिसकी लंबाई 0 से 255 अक्षर तक हो सकती है।
VARCHAR( ) एक परिवर्तनीय लंबाई वाला खंड जिसकी लंबाई 0 से 65535 अक्षर तक हो सकती है।
TINYTEXT एक स्ट्रिंग जिसकी अधिकतम लंबाई 255 वर्ण है.
TEXT एक स्ट्रिंग जिसकी अधिकतम लंबाई 65535 वर्ण है.
BLOB अधिकतम 65535 बाइट्स की लंबाई वाला बाइनरी डेटा।
MEDIUMTEXT एक स्ट्रिंग जिसकी अधिकतम लंबाई 16777215 वर्ण है.
MEDIUMBLOB अधिकतम 16777215 बाइट्स की लंबाई वाला बाइनरी डेटा।
LONGTEXT एक स्ट्रिंग जिसकी अधिकतम लंबाई 4294967295 वर्ण है.
LONGBLOB अधिकतम 4294967295 बाइट्स की लंबाई वाला बाइनरी डेटा।

दिनांक / समय डेटा प्रकार

आदेश विवरण
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:MM:SS
TIMESTAMP YYYY-MM-DD HH:MM:SS, UTC में संग्रहीत और सत्र समय क्षेत्र में परिवर्तित।
TIME एचएच: एमएम: एसएस

अन्य डेटा प्रकार

आदेश विवरण
ENUM पूर्वनिर्धारित पाठ मानों की सूची में से चुने गए एक पाठ मान को संग्रहीत करने के लिए।
SET इसका उपयोग पूर्वनिर्धारित पाठ मानों की सूची से चुने गए पाठ मानों को संग्रहीत करने के लिए भी किया जाता है। इसमें एकाधिक मान रखे जा सकते हैं।
BOOL TINYINT(1) का पर्यायवाची, बूलियन मानों को संग्रहीत करने के लिए उपयोग किया जाता है।
BINARY CHAR के समान; अंतर केवल इतना है कि टेक्स्ट बाइनरी फॉर्मेट में स्टोर होता है।
VARBINARY VARCHAR के समान; अंतर केवल इतना है कि टेक्स्ट बाइनरी फॉर्मेट में स्टोर होता है।

SQL SELECT कथन आदेश

SELECT कमांड का उपयोग टेबल से पंक्तियों को वापस पढ़ने के लिए किया जाता है।

आदेश विवरण
SELECT * FROM table1; तालिका से प्रत्येक स्तंभ का चयन करें
SELECT t1, t2, t3, t4 FROM table1; हमें केवल t1, t2, t3 और t4 फ़ील्ड प्राप्त करने में रुचि है।
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; कॉलम मानों को एक ही आउटपुट कॉलम में संयोजित करना
SELECT column_name | value | expression [AS] alias_name; उपनाम फ़ील्ड नाम सिंटैक्स

AND, OR, IN, NOT IN कमांड के साथ SQL WHERE क्लॉज

WHERE क्लॉज़ पंक्तियों को फ़िल्टर करता है, और नीचे दिए गए ऑपरेटरों को इसके अंदर संयोजित किया जा सकता है।

आदेश विवरण
SELECT * FROM tableName WHERE condition; WHERE क्लॉज़ सिंटैक्स
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE क्लॉज़ को AND लॉजिकल ऑपरेटर के साथ संयोजित किया गया है
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE क्लॉज़ को OR लॉजिकल ऑपरेटर के साथ संयोजित किया गया है
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE क्लॉज़ को IN कीवर्ड के साथ संयोजित किया गया है
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE क्लॉज़ को NOT IN कीवर्ड के साथ संयोजित किया गया है
SELECT * FROM table2 WHERE t3 = 'Female'; WHERE खंड को बराबर (=) तुलना ऑपरेटर के साथ संयोजित किया गया है
SELECT * FROM table3 WHERE t3 > 2000; WHERE क्लॉज़ को ग्रेटर देन (>) तुलना ऑपरेटर के साथ संयोजित किया गया है
SELECT * FROM table1 WHERE t1 <> 1; WHERE खंड को 'बराबर नहीं' (<>) तुलना ऑपरेटर के साथ संयोजित किया गया है

SQL कमांड INSERT INTO Table

आदेश विवरण
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); SQL INSERT कमांड का मूल सिंटैक्स
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); तालिका में डेटा डालें
INSERT INTO table_1 SELECT * FROM table_2; एक टेबल से दूसरी टेबल में डेटा डालना

SQL DELETE कमांड

आदेश विवरण
DELETE FROM table_name [WHERE condition]; में एक पंक्ति हटाएँ MySQL

SQL अद्यतन आदेश

आदेश विवरण
UPDATE table_name SET column_name = new_value [WHERE condition]; कमांड सिंटैक्स को अपडेट करें

SQL में ORDER BY: DESC और ASC कमांड

आदेश विवरण
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; ORDER BY क्लॉज़ का मूल सिंटैक्स
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N]; DESC और ASC सिंटैक्स

SQL GROUP BY और HAVING क्लॉज कमांड

समूह द्वारा पंक्तियों को समूहों में समेकित करता है, और HAVING उन समूहों के बनने के बाद उन्हें फ़िल्टर करता है।

समूह द्वारा

आदेश विवरण
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; ग्रुप बाय सिंटैक्स

Grouping और समग्र कार्यों

आदेश विवरण
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; मान लीजिए हम अपने डेटाबेस में t2 कॉलम मानों की कुल संख्या चाहते हैं।

HAVING खंड

आदेश विवरण
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; उन सभी t4 मानों को लौटाता है जो table2 की उन पंक्तियों के लिए हैं जिनका t1_id x1 है।

लाइक, नॉट लाइक, एस्केप, ( % ), ( _ ) के लिए SQL वाइल्डकार्ड कमांड

वाइल्डकार्ड LIKE फ़ंक्शन को आंशिक स्ट्रिंग से मिलान करने की अनुमति देते हैं।

% प्रतिशत वाइल्डकार्ड कमांड MySQL

आदेश विवरण
SELECT statements... WHERE fieldname LIKE 'xxx%'; प्रतिशत वाइल्डकार्ड के लिए मूल सिंटैक्स, जो किसी भी संख्या के वर्णों से मेल खाता है।

_ अंडरस्कोर वाइल्डकार्ड कमांड

आदेश विवरण
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; अंडरस्कोर ठीक एक अक्षर से मेल खाता है।

वाइल्डकार्ड कमांड की तरह नहीं

आदेश विवरण
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; मान लीजिए कि हम table1 की उन पंक्तियों को चाहते हैं जिनका t3 मान पैटर्न से मेल नहीं खाता है।

एस्केप कीवर्ड वाइल्डकार्ड कमांड

आदेश विवरण
LIKE '67#%' ESCAPE '#'; यह "67%" नामक शाब्दिक स्ट्रिंग की जाँच करता है, क्योंकि # वाइल्डकार्ड को एस्केप कर देता है।

SQL नियमित अभिव्यक्तियाँ (REGEXP)

आदेश विवरण
SELECT statements... WHERE fieldname REGEXP 'pattern'; नियमित अभिव्यक्ति मिलान का मूल सिंटैक्स

नियमित अभिव्यक्ति... पात्र

आदेश विवरण
* तारांकन (*) मेटाकैरेक्टर अपने से पहले वाली स्ट्रिंग के शून्य या अधिक उदाहरणों से मेल खाता है।
+ प्लस (+) मेटाकैरेक्टर अपने से पहले वाली स्ट्रिंग के एक या अधिक उदाहरणों से मेल खाता है।
? प्रश्न चिह्न (?) मेटाकैरेक्टर अपने से पहले वाली स्ट्रिंग के शून्य या एक उदाहरण से मेल खाता है।
. डॉट (.) मेटाकैरेक्टर नई लाइन को छोड़कर किसी भी एकल कैरेक्टर से मेल खाता है।
[abc] charlist [abc] संलग्न अक्षरों में से किसी से भी मेल खाता है।
[^abc] charlist [^abc] संलग्न वर्णों को छोड़कर किसी भी वर्ण से मेल खाता है।
[A-Z] [AZ] श्रेणी किसी भी बड़े अक्षर से मेल खाती है।
[a-z] [az] श्रेणी किसी भी छोटे अक्षर से मेल खाती है।
[0-9] [0-9] श्रेणी 0 से लेकर 9 तक के किसी भी अंक से मेल खाती है।
^ कैरेट (^) मिलान को शुरुआत में स्थिर कर देता है।
| ऊर्ध्वाधर पट्टी (|) विकल्पों को अलग करती है।
[[:<:]] [[:<:]] चिह्न शब्दों की शुरुआत से मेल खाता है।
[[:>:]] [[:>:]] चिह्न शब्दों के अंत से मेल खाता है।
[:class:] [:class:] मार्कर एक कैरेक्टर क्लास से मेल खाता है, उदाहरण के लिए अक्षरों के लिए [:alpha:], व्हाइट स्पेस के लिए [:space:], विराम चिह्नों के लिए [:punct:] और बड़े अक्षरों के लिए [:upper:]।

SQL फ़ंक्शन कमांड

स्ट्रिंग फ़ंक्शन

आदेश विवरण
SELECT t1_id, t2, UCASE(t2) FROM table1; UCASE फ़ंक्शन एक स्ट्रिंग को पैरामीटर के रूप में लेता है और सभी अक्षरों को अपर केस में परिवर्तित करता है।

संख्यात्मक कार्य

आदेश विवरण उदाहरण
DIV पूर्णांक विभाजन SELECT 23 DIV 6;
/ विभाजन SELECT 23 / 6;
- उपtracउत्पादन SELECT 23 - 6;
+ इसके अलावा SELECT 23 + 6;
* गुणन SELECT 23 * 6 AS multiplication_result;
% or MOD मापांक SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR किसी संख्या से दशमलव स्थान हटा देता है और उसे निकटतम पूर्ण संख्या तक पूर्णांकित कर देता है। SELECT FLOOR(23 / 6) AS floor_result;
ROUND दशमलव स्थानों वाली संख्या को निकटतम पूर्ण संख्या तक पूर्णांकित करता है। SELECT ROUND(23 / 6) AS round_result;

संग्रहीत फ़ंक्शन

आदेश विवरण
CREATE FUNCTION sf_name ([parameter(s)]) अनिवार्य। बताता है MySQL सर्वर को कोष्ठकों में परिभाषित वैकल्पिक मापदंडों के साथ sf_name नामक एक फ़ंक्शन बनाने के लिए कहा गया है।
RETURNS data type अनिवार्य। यह फ़ंक्शन द्वारा लौटाए जाने वाले डेटा प्रकार को निर्दिष्ट करता है।
DETERMINISTIC यह फ़ंक्शन समान आर्गुमेंट दिए जाने पर समान मान लौटाता है।
STATEMENTS प्रक्रियात्मक कोड जिसे फ़ंक्शन निष्पादित करता है.

SQL एग्रीगेट फ़ंक्शन कमांड

आदेश विवरण
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; COUNT फ़ंक्शन
SELECT MIN(t3) FROM table2; MIN फ़ंक्शन
SELECT MAX(t3) FROM table2; अधिकतम समारोह
SELECT SUM(t4) FROM table3; SUM फ़ंक्शन
SELECT AVG(t4) FROM table3; AVG समारोह

SQL IS NULL और IS NOT NULL कमांड

A नल यह एक अनुपस्थित मान है, इसलिए इसे इक्वल ऑपरेटर के बजाय IS NULL के साथ जांचा जाना चाहिए।

आदेश विवरण
SELECT COUNT(t3) FROM table1; COUNT फ़ंक्शन कॉलम में मौजूद NULL मानों को अनदेखा करता है।
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
NOT NULL किसी कॉलम में खाली मानों की अनुमति नहीं देता है।
column_name IS NULL
column_name IS NOT NULL
NULL कीवर्ड की मूल वाक्य संरचना
SELECT * FROM table1 WHERE t2_number IS NULL; IS NULL का उदाहरण
SELECT * FROM table1 WHERE t2_number IS NOT NULL; IS NOT NULL का उदाहरण

SQL AUTO_INCREMENT आदेश

आदेश विवरण
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
स्वचालित वृद्धि सिंटैक्स

SQL – ALTER, DROP, RENAME, MODIFY

ये कमांड उस टेबल को बदलते हैं जिसमें पहले से ही डेटा मौजूद है।

आदेश विवरण
ALTER TABLE table_name ADD COLUMN column_name data_type; ALTER सिंटैक्स
DROP TABLE sample_table; ड्रॉप टेबल सिंटैक्स
RENAME TABLE current_table_name TO new_table_name; RENAME कमांड सिंटैक्स
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; कीवर्ड बदलें
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; मॉडिफाई कीवर्ड
ALTER TABLE table1 ADD t4 date NULL AFTER t3; AFTER कीवर्ड

SQL सीमा और ऑफसेट

आदेश विवरण
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT कीवर्ड सिंटैक्स
SELECT * FROM table1 LIMIT 1, 2; LIMIT क्वेरी में ऑफ़सेट: 1 पंक्ति छोड़ें, फिर 2 लौटाएँ।

SQL सबक्वेरी कमांड

आदेश विवरण
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
उप-प्रश्न

SQL JOINS कमांड

कार्यभार संभाला दो तालिकाओं के स्तंभों को एक परिणाम सेट में संयोजित करें।

आदेश विवरण
SELECT * FROM table1 CROSS JOIN table2; क्रॉस जॉइन
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
अंदरूनी शामिल हों
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
बायाँ शामिल हों
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
सही शामिल हैं
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
“ON” और “USING” क्लॉज़

SQL UNION कमांड

UNION दो क्वेरी की पंक्तियों को एक साथ जोड़ता है, जबकि JOIN उन्हें और अधिक कॉलम में विस्तारित करता है।

आदेश विवरण
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION सिंटैक्स। डुप्लिकेट पंक्तियाँ हटा दी जाती हैं।
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL डुप्लिकेट पंक्तियों को बनाए रखता है।

दृश्य में SQL आदेश

दृश्य क्वेरी को एक नाम के तहत स्टोर करें ताकि इसे टेबल की तरह दोबारा इस्तेमाल किया जा सके।

आदेश विवरण
CREATE VIEW view_name AS SELECT statement; दृश्य वाक्यविन्यास
DROP VIEW general_v_movie_rentals; बूंदping विचारों

SQL इंडेक्स कमांड

इंडेक्स एक लुकअप संरचना है जो किसी कॉलम पर खोज को काफी तेज बनाती है।

आदेश विवरण
CREATE INDEX id_index ON table_name(column_name); इंडेक्स मूल सिंटैक्स जोड़ें
DROP INDEX index_id ON table_name; ड्रॉप इंडेक्स का मूल सिंटैक्स

अक्सर पूछे जाने वाले प्रश्न

नहीं। SELECT और WHERE जैसे कीवर्ड हर स्थिति में काम करते हैं। कमांड और आइडेंटिफ़ायर को अलग करने के लिए अपरकेस का उपयोग एक नियम है। हालाँकि, Linux पर टेबल के नाम केस-सेंसिटिव हो सकते हैं।

DELETE कमांड चयनित पंक्तियों को हटाता है और इसे वापस पूर्ववत किया जा सकता है। TRUNCATE कमांड पूरी टेबल को तुरंत खाली कर देता है और AUTO_INCREMENT को रीसेट कर देता है। DROP कमांड टेबल की परिभाषा को ही हटा देता है।

FROM और JOIN पहले चलते हैं, फिर WHERE, GROUP BY, HAVING, SELECT, ORDER BY और अंत में LIMIT। यही कारण है कि SELECT में परिभाषित कॉलम एलियास को WHERE के अंदर उपयोग नहीं किया जा सकता है।

जी हां। टेक्स्ट-टू-एसक्यूएल सहायक तालिका स्कीमा का उपयोग करके प्रश्न को क्वेरी में परिवर्तित करते हैं। उत्पन्न WHERE और JOIN शर्तों को हमेशा पढ़ें, क्योंकि एक संभावित क्वेरी भी गलत पंक्तियाँ लौटा सकती है।

हां. Revएआई आउटपुट देखना, धीमी क्वेरी को ट्यून करना और निष्पादन योजना को पढ़ना - इन सभी कार्यों के लिए कमांड में दक्षता आवश्यक है। संदर्भ पत्रक याद करने की गति बढ़ाता है; यह समझ का विकल्प नहीं है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: