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

SQL मूल बातें

रिलेशनल डेटाबेस का मूल: क्वेरी, फ़िल्टर, जॉइन, एग्रीगेट और डेटा बदलना, साथ ही रोज़ काम आने वाले स्कीमा और ट्रांज़ैक्शन स्टेटमेंट। मानक SQL जो PostgreSQL, MySQL, SQLite और अधिकांश इंजनों पर चलता है — मामूली बोली-अंतर छोड़कर।

ऑफ़लाइन संदर्भ हेतु इस पृष्ठ को प्रिंट या सहेजें।

क्वेरी

कमांडविवरण
SELECT * FROM users;किसी टेबल के सभी कॉलम और पंक्तियाँ लौटाएँ।
SELECT name, email FROM users;केवल नामित कॉलम लौटाएँ।
SELECT DISTINCT country FROM users;अद्वितीय मान लौटाएँ, डुप्लिकेट हटाकर।
SELECT COUNT(*) FROM users;पंक्तियों की संख्या गिनें।

फ़िल्टर और क्रम

कमांडविवरण
WHERE age >= 18केवल शर्त पूरी करती पंक्तियाँ रखें।
WHERE name LIKE 'A%'पैटर्न मिलान: A से शुरू होते नाम।
WHERE id IN (1,2,3)सूची के किसी भी मान से मिलान।
ORDER BY created_at DESCपंक्तियाँ क्रमित करें, नई पहले।
LIMIT 10 OFFSET 2010 पंक्तियाँ लौटाएँ, पहली 20 छोड़कर (पेजिंग)।

जॉइन

कमांडविवरण
INNER JOIN orders ON orders.user_id = users.idदोनों टेबलों में मेल खाती पंक्तियाँ।
LEFT JOIN orders ON ...बाईं ओर की सभी पंक्तियाँ, साथ मेल (न हो तो NULL)।
COUNT(*) ... GROUP BY user_idपंक्तियों को समूहों में एकत्र करें।
HAVING COUNT(*) > 5एकत्रीकरण के बाद समूह फ़िल्टर करें।

डेटा बदलना

कमांडविवरण
INSERT INTO users (name) VALUES ('Ada');नई पंक्ति जोड़ें।
UPDATE users SET active = true WHERE id = 1;मौजूदा पंक्तियाँ बदलें — हमेशा WHERE के साथ।
DELETE FROM users WHERE id = 1;शर्त पूरी करती पंक्तियाँ हटाएँ।
UPSERT / ON CONFLICT DO UPDATEइंसर्ट करें, या मौजूद हो तो पंक्ति अपडेट करें।

स्कीमा

कमांडविवरण
CREATE TABLE t (id INTEGER PRIMARY KEY, name TEXT);नई टेबल और उसके कॉलम परिभाषित करें।
ALTER TABLE t ADD COLUMN email TEXT;मौजूदा टेबल में कॉलम जोड़ें।
CREATE INDEX idx ON t (email);किसी कॉलम पर खोज तेज़ करें।
FOREIGN KEY (user_id) REFERENCES users(id)दो टेबलों के बीच संबंध लागू करें।

ट्रांज़ैक्शन

कमांडविवरण
BEGIN;ट्रांज़ैक्शन शुरू करें।
COMMIT;ट्रांज़ैक्शन के सभी बदलाव स्थायी करें।
ROLLBACK;BEGIN के बाद के सभी बदलाव पूर्ववत करें।
SAVEPOINT sp1;आंशिक रोलबैक हेतु एक बिंदु चिह्नित करें।

इसे Android पर उपयोग में लाएँ — डेटाबेस मैनेजर.