DBMS — MCQ Practice

Hindi aur English dono mein practice karo — click karo answer check karne ke liye

📚 2982 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
2982 questions
2101
EN + हिं Easy
GB What is the SQL standard CREATE VIEW statement and what properties must hold for a view to be created successfully?
IN SQL मानक क्रिएट व्यू स्टेटमेंट क्या है और किसी व्यू को सफलतापूर्वक बनाने के लिए कौन से गुण होने चाहिए?
A
Views can be created from any SQL statement किसी भी SQL कथन से दृश्य बनाए जा सकते हैं
B
Views must always reference at least two base tables दृश्यों को हमेशा कम से कम दो आधार तालिकाओं का संदर्भ देना चाहिए
C
A view is created from a valid SELECT statement; key requirements vary by DBMS but typically: no ORDER BY in the view definition (without LIMIT/TOP), consistent column names (either from SELECT or via aliases), and the underlying tables/views must exist एक वैध चयन कथन से एक दृश्य बनाया जाता है; मुख्य आवश्यकताएँ DBMS के अनुसार अलग-अलग होती हैं, लेकिन आम तौर पर: दृश्य परिभाषा में कोई ORDER BY नहीं (बिना LIMIT/TOP), सुसंगत कॉलम नाम (या तो SELECT से या उपनाम के माध्यम से), और अंतर्निहित तालिकाएँ/दृश्य मौजूद होने चाहिए
D
Views can include INSERT UPDATE DELETE statements दृश्यों में INSERT UPDATE DELETE कथन शामिल हो सकते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CREATE VIEW view_name AS SELECT col1, col2, expr AS alias FROM table WHERE condition. Requirements: unique column names (use aliases for computed columns or duplicates), no parameters (unlike table-valued functions), underlying tables must exist. ORDER BY in view is allowed only if TOP/LIMIT is used (implementation-specific).
व्याख्या (हिन्दी) CREATE VIEW view_name AS SELECT col1, col2, expr AS alias FROM table WHERE condition. आवश्यकताएँ: अद्वितीय कॉलम नाम (गणना किए गए कॉलम या डुप्लिकेट के लिए उपनाम का उपयोग करें), कोई पैरामीटर नहीं (तालिका-मूल्यवान फ़ंक्शन के विपरीत), अंतर्निहित तालिकाएं मौजूद होनी चाहिए। ORDER BY in view is allowed only if TOP/LIMIT is used (implementation-specific).
2102
EN + हिं Medium
GB What is the purpose of ALTER TABLE RENAME and does it affect dependent objects?
IN ALTER TABLE RENAME का उद्देश्य क्या है और क्या यह निर्भर वस्तुओं को प्रभावित करता है?
A
ALTER TABLE old_name RENAME TO new_name changes the table name; most DBMS automatically update references in foreign key constraints but views stored procedures and application code may break - the impact depends on DBMS version and dependency management capabilities ALTER TABLE old_name RENAME TO new_name changes the table name; अधिकांश DBMS स्वचालित रूप से विदेशी कुंजी बाधाओं में संदर्भों को अपडेट करते हैं लेकिन संग्रहित प्रक्रियाओं और एप्लिकेशन कोड को तोड़ सकते हैं - प्रभाव DBMS संस्करण और निर्भरता प्रबंधन क्षमताओं पर निर्भर करता है
B
It temporarily aliases the table name यह अस्थायी रूप से तालिका नाम को उपनाम देता है
C
It creates a copy of the table with the new name यह नए नाम के साथ तालिका की एक प्रति बनाता है
D
It only changes the table name in the catalog यह केवल कैटलॉग में तालिका का नाम बदलता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ALTER TABLE RENAME: changes table name in the system catalog. Most modern DBMS (PostgreSQL, MySQL 8.0+) update FK references automatically. BUT: views that reference the old table name may become invalid, stored procedures/functions referencing the old name break, application code using hardcoded table names must be updated.
व्याख्या (हिन्दी) तालिका का नाम बदलें: सिस्टम कैटलॉग में तालिका का नाम बदलता है। Most modern DBMS (PostgreSQL, MySQL 8.0+) update FK references automatically. लेकिन: पुराने तालिका नाम को संदर्भित करने वाले दृश्य अमान्य हो सकते हैं, पुराने नाम को संदर्भित करने वाली संग्रहीत कार्यविधियाँ/फ़ंक्शन, हार्डकोडेड तालिका नामों का उपयोग करने वाले एप्लिकेशन कोड को अद्यतन किया जाना चाहिए।
2103
EN + हिं Medium
GB What is the SQL COMMENT statement and how is metadata typically managed in production databases?
IN SQL COMMENT कथन क्या है और मेटाडेटा को आमतौर पर उत्पादन डेटाबेस में कैसे प्रबंधित किया जाता है?
A
Comments replace actual column/table names टिप्पणियाँ वास्तविक कॉलम/तालिका नामों का स्थान ले लेती हैं
B
COMMENT ON is only available in Oracle databases COMMENT ON केवल Oracle डेटाबेस में उपलब्ध है
C
Comments are only in SQL code not stored in the database टिप्पणियाँ केवल SQL कोड में हैं, डेटाबेस में संग्रहीत नहीं हैं
D
COMMENT ON TABLE/COLUMN/INDEX stores metadata descriptions in the system catalog (standard SQL); in production databases metadata management also includes: documentation in data catalogs (Apache Atlas, Collibra), ERD tools, and data dictionaries maintained alongside the schema टेबल/कॉलम/इंडेक्स पर टिप्पणी सिस्टम कैटलॉग (मानक एसक्यूएल) में मेटाडेटा विवरण संग्रहीत करती है; उत्पादन डेटाबेस में मेटाडेटा प्रबंधन में यह भी शामिल है: डेटा कैटलॉग में दस्तावेज़ीकरण (अपाचे एटलस, कोलिब्रा), ईआरडी उपकरण, और स्कीमा के साथ बनाए गए डेटा शब्दकोश
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) COMMENT ON TABLE emp IS Employee master table; COMMENT ON COLUMN emp.salary IS Annual salary in USD (not including bonuses). Stored in system catalog (information_schema.column_comments in MySQL, pg_description in PostgreSQL). Production metadata management: data catalog tools track lineage, ownership, PII classification, business definitions.
व्याख्या (हिन्दी) टेबल एम्प पर टिप्पणी कर्मचारी मास्टर टेबल है; कॉलम पर टिप्पणी emp.salary USD में वार्षिक वेतन है (बोनस शामिल नहीं)। सिस्टम कैटलॉग में संग्रहीत (MySQL में information_schema.column_comments, PostgreSQL में pg_description)। उत्पादन मेटाडेटा प्रबंधन: डेटा कैटलॉग उपकरण वंश, स्वामित्व, पीआईआई वर्गीकरण, व्यावसायिक परिभाषाओं को ट्रैक करते हैं।
2104
EN + हिं Medium
GB What is the difference between INSERT INTO VALUES and INSERT INTO SELECT?
IN INSERT INTO वैल्यूज़ और INSERT INTO SELECT के बीच क्या अंतर है?
A
INSERT VALUES: inserts one or more explicitly specified rows; INSERT SELECT: inserts rows derived from a SELECT query result enabling bulk insertion from other tables or complex expressions मान सम्मिलित करें: एक या अधिक स्पष्ट रूप से निर्दिष्ट पंक्तियाँ सम्मिलित करें; चयन सम्मिलित करें: एक चयन क्वेरी परिणाम से प्राप्त पंक्तियों को सम्मिलित करता है जो अन्य तालिकाओं या जटिल अभिव्यक्तियों से थोक प्रविष्टि को सक्षम करता है
B
They are identical in functionality वे कार्यक्षमता में समान हैं
C
INSERT SELECT is faster but less accurate INSERT SELECT तेज़ है लेकिन कम सटीक है
D
INSERT VALUES supports multiple rows; INSERT SELECT supports only one row INSERT VALUES एकाधिक पंक्तियों का समर्थन करता है; INSERT SELECT केवल एक पंक्ति का समर्थन करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INSERT...VALUES: specify literal values directly, used for one or multiple explicit rows. INSERT...SELECT: queries source data and inserts all results into target table atomically, useful for bulk loads, data migration, creating backup copies, and populating summary tables.
व्याख्या (हिन्दी) सम्मिलित करें...मान: सीधे शाब्दिक मान निर्दिष्ट करें, एक या एकाधिक स्पष्ट पंक्तियों के लिए उपयोग किया जाता है। सम्मिलित करें...चयन करें: स्रोत डेटा से पूछताछ करता है और सभी परिणामों को परमाणु रूप से लक्ष्य तालिका में सम्मिलित करता है, जो बल्क लोड, डेटा माइग्रेशन, बैकअप प्रतियां बनाने और सारांश तालिकाओं को पॉप्युलेट करने के लिए उपयोगी है।
2105
EN + हिं Easy
GB In SQL what is the behavior of an UPDATE statement without a WHERE clause?
IN SQL में WHERE क्लॉज़ के बिना UPDATE स्टेटमेंट का व्यवहार क्या होता है?
A
It updates only the first row यह केवल पहली पंक्ति को अद्यतन करता है
B
It fails with an error यह एक त्रुटि के साथ विफल हो जाता है
C
It creates a transaction that must be manually committed यह एक लेनदेन बनाता है जिसे मैन्युअल रूप से प्रतिबद्ध किया जाना चाहिए
D
It updates ALL rows in the table - a common and dangerous mistake that can corrupt entire tables. The UPDATE executes successfully but affects every row यह तालिका में सभी पंक्तियों को अद्यतन करता है - एक सामान्य और खतरनाक गलती जो संपूर्ण तालिकाओं को दूषित कर सकती है। अद्यतन सफलतापूर्वक निष्पादित होता है लेकिन प्रत्येक पंक्ति को प्रभावित करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) UPDATE without WHERE: updates every single row in the table. This is a common production accident. Best practice: always write the WHERE clause first, then add the SET clause. Use transactions and test with SELECT using same WHERE before executing UPDATE.
व्याख्या (हिन्दी) बिना WHERE के अद्यतन करें: तालिका में प्रत्येक पंक्ति को अद्यतन करता है। यह एक सामान्य उत्पादन दुर्घटना है. सर्वोत्तम अभ्यास: हमेशा पहले WHERE क्लॉज लिखें, फिर SET क्लॉज जोड़ें। लेनदेन का उपयोग करें और अद्यतन निष्पादित करने से पहले WHERE का उपयोग करके SELECT के साथ परीक्षण करें।
2106
EN + हिं Medium
GB What is SQL INSERT OR REPLACE (MySQL: REPLACE INTO) and how does it differ from INSERT OR IGNORE?
IN SQL INSERT OR REPLACE (MySQL: REPLACE INTO) क्या है और यह INSERT OR IGNORE से किस प्रकार भिन्न है?
A
REPLACE INTO: if a duplicate key violation occurs deletes the existing row and inserts the new row (auto-increments change); INSERT OR IGNORE: if duplicate key silently ignores the insert and keeps the original row unchanged इसमें बदलें: यदि डुप्लिकेट कुंजी का उल्लंघन होता है तो मौजूदा पंक्ति को हटा दिया जाता है और नई पंक्ति सम्मिलित कर दी जाती है (स्वचालित-वृद्धि परिवर्तन); सम्मिलित करें या अनदेखा करें: यदि डुप्लिकेट कुंजी चुपचाप सम्मिलित को अनदेखा कर देती है और मूल पंक्ति को अपरिवर्तित रखती है
B
Both operations update the existing row दोनों ऑपरेशन मौजूदा पंक्ति को अद्यतन करते हैं
C
INSERT OR IGNORE replaces the row; REPLACE INTO ignores it सम्मिलित करें या अनदेखा करें पंक्ति को प्रतिस्थापित करता है; REPLACE INTO इसे अनदेखा कर देता है
D
They are identical operations वे समान परिचालन हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) REPLACE INTO: DELETE + INSERT on conflict (loses old row, new auto_increment generated). INSERT IGNORE: on conflict, silently skip (original preserved, no error). INSERT ON DUPLICATE KEY UPDATE (MySQL) / INSERT ON CONFLICT DO UPDATE (PostgreSQL): update specific columns on conflict.
व्याख्या (हिन्दी) इसमें बदलें: विरोध पर हटाएं + सम्मिलित करें (पुरानी पंक्ति खो जाती है, नई ऑटो_वृद्धि उत्पन्न होती है)। अनदेखा करें सम्मिलित करें: विरोध होने पर, चुपचाप छोड़ें (मूल संरक्षित, कोई त्रुटि नहीं)। डुप्लिकेट कुंजी अद्यतन पर सम्मिलित करें (MySQL) / संघर्ष पर सम्मिलित करें अद्यतन करें (पोस्टग्रेएसक्यूएल): संघर्ष पर विशिष्ट कॉलम अपडेट करें।
2107
EN + हिं Medium
GB What is the SQL UPDATE JOIN syntax used for?
IN SQL UPDATE JOIN सिंटैक्स का उपयोग किसके लिए किया जाता है?
A
Performing a JOIN query that includes update logic एक JOIN क्वेरी निष्पादित करना जिसमें अद्यतन तर्क शामिल है
B
Joining two UPDATE statements दो अद्यतन कथनों को जोड़ना
C
Updating foreign key relationships विदेशी कुंजी संबंधों को अद्यतन करना
D
Updating rows in one table based on conditions or values from another table by joining them within the UPDATE statement किसी अन्य तालिका की शर्तों या मानों के आधार पर एक तालिका में पंक्तियों को अद्यतन कथन के भीतर जोड़कर अद्यतन करना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) UPDATE with JOIN: UPDATE orders o JOIN customers c ON o.cust_id=c.id SET o.discount=0.1 WHERE c.tier=gold. Updates order discounts based on customer tier from another table. MySQL syntax differs from standard SQL which uses UPDATE...SET...WHERE col IN (SELECT...) and PostgreSQL uses UPDATE...FROM...WHERE.
व्याख्या (हिन्दी) जॉइन के साथ अपडेट करें: ऑर्डर अपडेट करें ओ ग्राहकों से जुड़ें सी ऑन ओ.कस्ट_आईडी=सी.आईडी सेट ओ.डिस्काउंट=0.1 जहां सी.टीयर=गोल्ड। किसी अन्य तालिका से ग्राहक स्तर के आधार पर ऑर्डर छूट को अद्यतन करता है। MySQL सिंटैक्स मानक SQL से भिन्न है जो UPDATE...SET...WHERE col IN (SELECT...) का उपयोग करता है और PostgreSQL UPDATE...FROM...WHERE का उपयोग करता है।
2108
EN + हिं Medium
GB What is INSERT ON CONFLICT DO UPDATE (UPSERT) in PostgreSQL and how does it work?
IN PostgreSQL में INSERT ON CONFLICT DO UPDATE (UPSERT) क्या है और यह कैसे काम करता है?
A
An operation that updates existing rows and inserts new ones in two separate steps एक ऑपरेशन जो मौजूदा पंक्तियों को अद्यतन करता है और दो अलग-अलग चरणों में नई पंक्तियाँ सम्मिलित करता है
B
PostgreSQL syntax for upsert: attempts an INSERT and if a conflict on a specified constraint/column occurs updates the existing row instead of failing - atomic single-statement operation अप्सर्ट के लिए PostgreSQL सिंटैक्स: INSERT का प्रयास करता है और यदि किसी निर्दिष्ट बाधा/कॉलम पर कोई विरोध होता है तो विफल होने के बजाय मौजूदा पंक्ति को अपडेट करता है - परमाणु एकल-कथन ऑपरेशन
C
A PostgreSQL-specific error handling mechanism एक PostgreSQL-विशिष्ट त्रुटि प्रबंधन तंत्र
D
A constraint that prevents conflicting inserts एक बाधा जो परस्पर विरोधी प्रविष्टियों को रोकती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INSERT INTO t (id, val) VALUES (1, new) ON CONFLICT (id) DO UPDATE SET val=EXCLUDED.val; - EXCLUDED refers to the row that failed to insert. MySQL equivalent: INSERT...ON DUPLICATE KEY UPDATE. Atomic upsert avoids race conditions of SELECT-then-INSERT-or-UPDATE.
व्याख्या (हिन्दी) टी (आईडी, वैल) मूल्यों में डालें (1, नया) संघर्ष पर (आईडी) सेट अपडेट करें val=EXCLUDED.val; - बहिष्कृत उस पंक्ति को संदर्भित करता है जो सम्मिलित करने में विफल रही। MySQL समतुल्य: डुप्लिकेट कुंजी अद्यतन पर सम्मिलित करें... एटॉमिक अपसर्ट SELECT-then-INSERT-or-UPDATE की दौड़ स्थितियों से बचता है।
2109
EN + हिं Easy
GB What does DELETE FROM table1 WHERE id IN (SELECT id FROM table2 WHERE condition) accomplish?
IN DELETE FROMtable1 WHERE id IN (SELECT id FROMtable2 WHEREcondition) क्या पूरा करता है?
A
Creates a backup of deleted rows in table2 तालिका 2 में हटाई गई पंक्तियों का बैकअप बनाता है
B
Deletes rows from table1 whose id values exist in the result set of the subquery from table2 - a correlated delete that removes specific rows based on data in another table तालिका 1 से उन पंक्तियों को हटाता है जिनके आईडी मान तालिका 2 से सबक्वेरी के परिणाम सेट में मौजूद हैं - एक सहसंबद्ध डिलीट जो किसी अन्य तालिका में डेटा के आधार पर विशिष्ट पंक्तियों को हटा देता है
C
Deletes rows from table2 where condition is true तालिका 2 से पंक्तियाँ हटाता है जहाँ शर्त सत्य है
D
Deletes matching rows from both table1 and table2 simultaneously तालिका 1 और तालिका 2 दोनों से मेल खाने वाली पंक्तियों को एक साथ हटा देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Subquery delete: identifies candidate IDs from table2 using the subquery condition, then deletes those matching rows from table1. Common pattern for cleanup operations. MySQL requires: DELETE t1 FROM t1 JOIN t2 ON ... (cannot use the same table in FROM and subquery in MySQL).
व्याख्या (हिन्दी) सबक्वेरी हटाएं: सबक्वेरी शर्त का उपयोग करके तालिका 2 से उम्मीदवार आईडी की पहचान करता है, फिर तालिका 1 से उन मिलान पंक्तियों को हटा देता है। सफ़ाई कार्यों के लिए सामान्य पैटर्न. MySQL के लिए आवश्यक है: t1 से t1 हटाएं, t2 पर शामिल हों... (FROM में एक ही तालिका और MySQL में सबक्वेरी का उपयोग नहीं किया जा सकता)।
2110
EN + हिं Medium
GB What is the SQL RETURNING clause (PostgreSQL SQLite) used for in DML statements?
IN DML स्टेटमेंट में SQL रिटर्निंग क्लॉज (PostgreSQL SQLite) का उपयोग किसके लिए किया जाता है?
A
Returns the values of specified columns from rows that were inserted updated or deleted - useful for retrieving auto-generated values (like IDENTITY/serial IDs) or changed values without a subsequent SELECT उन पंक्तियों से निर्दिष्ट कॉलम के मान लौटाता है जिन्हें अद्यतन या हटा दिया गया था - स्वचालित रूप से जेनरेट किए गए मान (जैसे पहचान/सीरियल आईडी) या बाद के चयन के बिना परिवर्तित मान पुनर्प्राप्त करने के लिए उपयोगी
B
Returning a result set from a stored procedure संग्रहीत प्रक्रिया से परिणाम सेट लौटाना
C
Returning the number of rows affected by the DML डीएमएल से प्रभावित पंक्तियों की संख्या लौटाना
D
Returning error codes from DML operations डीएमएल परिचालन से त्रुटि कोड लौटाना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) RETURNING (PostgreSQL): INSERT INTO t (col) VALUES (v) RETURNING id; - returns the generated ID. UPDATE t SET col=val WHERE id=x RETURNING old_col, new_col; DELETE FROM t WHERE x RETURNING deleted_col; SQL Server uses OUTPUT clause for similar functionality.
व्याख्या (हिन्दी) रिटर्निंग (पोस्टग्रेएसक्यूएल): टी (कॉल) मानों में डालें (v) रिटर्निंग आईडी; - जनरेट की गई आईडी लौटाता है। अद्यतन करें t SET col=val जहां id=x पुराना_col, new_col लौटा रहा है; वहां से हटाएं जहां x लौटाया जा रहा है delete_col; SQL सर्वर समान कार्यक्षमता के लिए OUTPUT क्लॉज का उपयोग करता है।
2111
EN + हिं Easy
GB What is the issue with UPDATE employees SET salary = salary * 1.1 WHERE department_id = (SELECT department_id FROM departments WHERE budget > 1000000) if the subquery returns multiple rows?
IN अद्यतन कर्मचारियों के साथ समस्या क्या है सेट वेतन = वेतन * 1.1 जहां विभाग_आईडी = (विभागों से विभाग_आईडी चुनें जहां बजट> 1000000) यदि सबक्वेरी कई पंक्तियाँ लौटाती है?
A
The UPDATE ignores the subquery अद्यतन सबक्वेरी को अनदेखा करता है
B
In most DBMS this fails with subquery returns more than one row error because the = operator expects a single value - should use IN instead of = for multi-row subqueries अधिकांश डीबीएमएस में यह सबक्वेरी के साथ विफल हो जाता है, एक से अधिक पंक्ति त्रुटि देता है क्योंकि = ऑपरेटर एकल मान की अपेक्षा करता है - बहु-पंक्ति सबक्वेरी के लिए = के बजाय IN का उपयोग करना चाहिए
C
The UPDATE applies to only the first returned department अद्यतन केवल पहले लौटे विभाग पर लागू होता है
D
The UPDATE applies to all returned departments अद्यतन सभी लौटाए गए विभागों पर लागू होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Using = with a subquery that returns multiple rows causes error. Fix: WHERE department_id IN (SELECT department_id FROM departments WHERE budget > 1000000). Or use = ANY() to compare against any value in the result. Always verify whether a subquery can return multiple rows.
व्याख्या (हिन्दी) एकाधिक पंक्तियों को लौटाने वाली सबक्वेरी के साथ = का उपयोग करने से त्रुटि उत्पन्न होती है। ठीक करें: WHERE Department_id IN (विभागों से SELECT Department_ID जहां बजट > 1000000)। या परिणाम में किसी भी मान से तुलना करने के लिए = ANY() का उपयोग करें। हमेशा सत्यापित करें कि क्या कोई सबक्वेरी एकाधिक पंक्तियाँ लौटा सकती है।
2112
EN + हिं Easy
GB What is a soft delete pattern and what are its trade-offs?
IN सॉफ्ट डिलीट पैटर्न क्या है और इसके ट्रेड-ऑफ़ क्या हैं?
A
Marking rows as deleted (is_deleted=1 or deleted_at=TIMESTAMP) instead of physically removing them preserving data for audit/recovery at the cost of increased table size and requiring all queries to filter out soft-deleted rows पंक्तियों को भौतिक रूप से हटाने के बजाय उन्हें हटाए गए (is_deleted=1 या delete_at=TIMESTAMP) के रूप में चिह्नित करना, बढ़े हुए तालिका आकार की कीमत पर ऑडिट/पुनर्प्राप्ति के लिए डेटा को संरक्षित करना और सभी क्वेरीज़ को सॉफ्ट-डिलीट की गई पंक्तियों को फ़िल्टर करने की आवश्यकता होती है।
B
Deleting data softly from disk without secure erasure सुरक्षित मिटाए बिना डिस्क से डेटा को धीरे-धीरे हटाना
C
A delete operation that can be undone within a time window एक डिलीट ऑपरेशन जिसे एक समय विंडो के भीतर पूर्ववत किया जा सकता है
D
A delete that only removes indexes but keeps data एक डिलीट जो केवल इंडेक्स को हटाता है लेकिन डेटा रखता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Soft delete: is_deleted TINYINT DEFAULT 0 or deleted_at TIMESTAMP. Pros: audit trail, easy recovery, referential integrity preserved. Cons: table bloat, all queries must add WHERE is_deleted=0 (risk of missing this), unique constraints may conflict with soft-deleted rows, performance degradation over time.
व्याख्या (हिन्दी) सॉफ़्ट डिलीट: TINYINT डिफ़ॉल्ट 0 पर हटा दिया गया है या TIMESTAMP पर हटा दिया गया है। पेशेवर: ऑडिट ट्रेल, आसान पुनर्प्राप्ति, संदर्भात्मक अखंडता संरक्षित। विपक्ष: टेबल ब्लोट, सभी प्रश्नों में WHERE is_deleted=0 जोड़ना होगा (इसके गायब होने का जोखिम), अद्वितीय बाधाएं सॉफ्ट-डिलीट की गई पंक्तियों के साथ संघर्ष कर सकती हैं, समय के साथ प्रदर्शन में गिरावट।
2113
EN + हिं Easy
GB What does UPDATE...SET col = DEFAULT accomplish in SQL?
IN SQL में UPDATE...SET col = DEFAULT क्या पूरा करता है?
A
Sets the column value to its defined DEFAULT value (as specified in the column definition) resetting it to the default without needing to know the actual default value कॉलम मान को उसके परिभाषित डिफ़ॉल्ट मान पर सेट करता है (जैसा कि कॉलम परिभाषा में निर्दिष्ट है) वास्तविक डिफ़ॉल्ट मान को जानने की आवश्यकता के बिना इसे डिफ़ॉल्ट पर रीसेट करता है
B
Is invalid SQL syntax अमान्य SQL सिंटैक्स है
C
Sets the column to NULL कॉलम को NULL पर सेट करता है
D
Sets the column to 0 कॉलम को 0 पर सेट करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) SET col = DEFAULT: resets a column to its defined default value, even if you do not know the exact default in your query. Useful for: resetting configuration values, resetting status fields, bulk-resetting optional fields. Works in PostgreSQL, MySQL, and standard SQL.
व्याख्या (हिन्दी) SET col = DEFAULT: किसी कॉलम को उसके परिभाषित डिफ़ॉल्ट मान पर रीसेट करता है, भले ही आप अपनी क्वेरी में सटीक डिफ़ॉल्ट नहीं जानते हों। इनके लिए उपयोगी: कॉन्फ़िगरेशन मान रीसेट करना, स्थिति फ़ील्ड रीसेट करना, वैकल्पिक फ़ील्ड को बल्क-रीसेट करना। PostgreSQL, MySQL और मानक SQL में काम करता है।
2114
EN + हिं Medium
GB What is the multi-row INSERT optimization and why is it significantly faster than multiple single-row INSERTs?
IN बहु-पंक्ति INSERT अनुकूलन क्या है और यह एकाधिक एकल-पंक्ति INSERT की तुलना में काफी तेज़ क्यों है?
A
Multi-row INSERT sends one network round-trip parses one SQL statement and applies one transaction commit for all rows vs. N round-trips/parses/commits for N single-row inserts - orders of magnitude faster for bulk loads बहु-पंक्ति INSERT एक नेटवर्क राउंड-ट्रिप पार्स एक SQL स्टेटमेंट भेजता है और सभी पंक्तियों के लिए एक लेनदेन कमिट लागू करता है बनाम एन सिंगल-पंक्ति इंसर्ट के लिए एन राउंड-ट्रिप/पार्स/कमिट - बल्क लोड के लिए तेजी से परिमाण के आदेश
B
It is not faster; single-row inserts are more optimized यह तेज़ नहीं है; एकल-पंक्ति आवेषण अधिक अनुकूलित हैं
C
It uses different storage algorithms यह विभिन्न स्टोरेज एल्गोरिदम का उपयोग करता है
D
It bypasses transaction logging entirely यह लेनदेन लॉगिंग को पूरी तरह से बायपास कर देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Multi-row INSERT benefits: single network round-trip (huge for remote connections), single statement parse/plan, single transaction overhead. For 10,000 rows: 1 multi-row INSERT is typically 10-100x faster than 10,000 individual INSERTs. Further optimized with LOAD DATA INFILE/COPY for millions of rows.
व्याख्या (हिन्दी) बहु-पंक्ति INSERT लाभ: एकल नेटवर्क राउंड-ट्रिप (दूरस्थ कनेक्शन के लिए विशाल), एकल कथन पार्स/योजना, एकल लेनदेन ओवरहेड। 10,000 पंक्तियों के लिए: 1 बहु-पंक्ति INSERT आमतौर पर 10,000 व्यक्तिगत INSERT से 10-100 गुना तेज़ है। लाखों पंक्तियों के लिए लोड डेटा इन्फाइल/कॉपी के साथ इसे और अधिक अनुकूलित किया गया है।
2115
EN + हिं Easy
GB What is LOAD DATA INFILE (MySQL) or COPY (PostgreSQL) and when is it used?
IN लोड डेटा इन्फाइल (MySQL) या COPY (PostgreSQL) क्या है और इसका उपयोग कब किया जाता है?
A
Loading data from the internet into MySQL इंटरनेट से MySQL में डेटा लोड करना
B
Loading stored procedure definitions from files फ़ाइलों से संग्रहीत प्रक्रिया परिभाषाएँ लोड हो रही हैं
C
A high-performance bulk data loading operation that reads data directly from a file (CSV TSV etc.) into a table bypassing many SQL processing overheads - typically 10-100x faster than INSERT statements for large datasets एक उच्च-प्रदर्शन बल्क डेटा लोडिंग ऑपरेशन जो कई SQL प्रोसेसिंग ओवरहेड्स को दरकिनार करते हुए एक फ़ाइल (सीएसवी टीएसवी आदि) से सीधे डेटा को एक तालिका में पढ़ता है - आमतौर पर बड़े डेटासेट के लिए INSERT स्टेटमेंट की तुलना में 10-100x तेज
D
Loading backup files into the database डेटाबेस में बैकअप फ़ाइलें लोड हो रही हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) LOAD DATA INFILE file INTO TABLE t FIELDS TERMINATED BY , LINES TERMINATED BY newline: reads CSV/TSV files, can skip headers, transform data. Much faster than INSERT because: bypasses SQL parsing, uses optimized bulk file I/O, can defer index updates. PostgreSQL: COPY table FROM /path/to/file CSV HEADER.
व्याख्या (हिन्दी) डेटा इनफ़ाइल फ़ाइल को टेबल टी फ़ील्ड में लोड करें, नई लाइन द्वारा समाप्त की गई लाइनें: सीएसवी/टीएसवी फाइलें पढ़ता है, हेडर छोड़ सकता है, डेटा बदल सकता है। INSERT की तुलना में बहुत तेज़ क्योंकि: SQL पार्सिंग को बायपास करता है, अनुकूलित बल्क फ़ाइल I/O का उपयोग करता है, इंडेक्स अपडेट को स्थगित कर सकता है। PostgreSQL: /path/to/file CSV हेडर से तालिका कॉपी करें।
2101–2115 of 2982