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
2971
EN + हिं Medium
GB Which SQL query most efficiently counts questions per q_level without NULL q_level
IN कौन सी SQL क्वेरी सबसे कुशलता से NULL q_level के बिना प्रति q_level प्रश्नों की गणना करती है
A
SELECT COUNT(*) FROM questions प्रश्नों में से COUNT(*) चुनें
B
SELECT q_level,COUNT(*) FROM questions GROUP BY q_level HAVING q_level IS NOT NULL प्रश्नों से q_level,COUNT(*) चुनें q_level के अनुसार समूह बनाएं q_level होने पर शून्य नहीं है
C
SELECT COUNT(*) WHERE q_level IS NULL जहां q_level शून्य है वहां गिनती(*) चुनें
D
SELECT q_level,COUNT(*) FROM questions WHERE q_level IS NOT NULL GROUP BY q_level उन प्रश्नों से q_level,COUNT(*) चुनें जहां q_level शून्य समूह नहीं है q_level द्वारा
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WHERE q_level IS NOT NULL before GROUP BY: filters NULLs first (more efficient than HAVING for filtering).
व्याख्या (हिन्दी) जहां q_level ग्रुप बाय से पहले शून्य नहीं है: पहले शून्य को फ़िल्टर करता है (फ़िल्टरिंग के लिए HAVING से अधिक कुशल)।
2972
EN + हिं Medium
GB To add a new column 'marks' INT DEFAULT 0 to existing questions table in Laravel migration
IN लारवेल माइग्रेशन में मौजूदा प्रश्न तालिका में एक नया कॉलम 'चिह्न' INT DEFAULT 0 जोड़ने के लिए
A
Schema::create('questions',fn($t)=>$t->integer('marks')) स्कीमा::create('questions',fn($t)=>$t->integer('marks'))
B
ALTER TABLE questions ADD marks INT DEFAULT 0 परिवर्तन तालिका प्रश्न अंक जोड़ें INT डिफ़ॉल्ट 0
C
Schema::table('questions', function(Blueprint $t){ $t->integer('marks')->default(0); }) स्कीमा::टेबल('प्रश्न', फ़ंक्शन(ब्लूप्रिंट $t){ $t->पूर्णांक('अंक')->डिफ़ॉल्ट(0); })
D
DB::statement('ALTER TABLE...') डीबी::कथन('तालिका बदलें...')
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Schema::table() (not create()) modifies existing table. $t->integer('marks')->default(0) adds the column.
व्याख्या (हिन्दी) Schema::table() (create नहीं()) मौजूदा तालिका को संशोधित करता है। $t->integer('marks')->default(0) कॉलम जोड़ता है।
2973
EN + हिं Medium
GB $table->after('solution') in migration column definition
IN $table->after('solution') माइग्रेशन कॉलम परिभाषा में
A
Removes the column after solution समाधान के बाद कॉलम हटा देता है
B
Places the new column AFTER the solution column in the table structure तालिका संरचना में समाधान कॉलम के बाद नया कॉलम रखता है
C
Adds constraint after solution समाधान के बाद बाधा जोड़ता है
D
References solution column संदर्भ समाधान स्तंभ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ->after('col'): places new column immediately after specified column in MySQL.
व्याख्या (हिन्दी) ->after('col'): MySQL में निर्दिष्ट कॉलम के तुरंत बाद नया कॉलम रखता है।
2974
EN + हिं Medium
GB $table->change() in migration is used to
IN माइग्रेशन में $table->change() का उपयोग किया जाता है
A
Drop a column एक कॉलम छोड़ें
B
Add new column नया कॉलम जोड़ें
C
Rename table तालिका का नाम बदलें
D
Modify existing column definition (requires doctrine/dbal package) मौजूदा कॉलम परिभाषा को संशोधित करें (सिद्धांत/डीबीएएल पैकेज की आवश्यकता है)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ->change(): modifies the definition of an existing column (requires doctrine/dbal in older Laravel versions).
व्याख्या (हिन्दी) ->परिवर्तन(): मौजूदा कॉलम की परिभाषा को संशोधित करता है (पुराने लारवेल संस्करणों में सिद्धांत/डीबीएएल की आवश्यकता होती है)।
2975
EN + हिं Medium
GB To add a foreign key constraint to existing questions.assignment_id column in migration
IN माइग्रेशन में मौजूदा questions.assignment_id कॉलम में एक विदेशी कुंजी बाधा जोड़ने के लिए
A
$table->foreign('assignment_id') $टेबल->विदेशी('असाइनमेंट_आईडी')
B
$table->addForeignKey('assignment_id') $table->addForeignKey('assignment_id')
C
$table->integer('assignment_id')->foreign() $टेबल->पूर्णांक('असाइनमेंट_आईडी')->विदेशी()
D
$table->foreign('assignment_id')->references('id')->on('assignments')->onDelete('cascade') $टेबल->विदेशी('असाइनमेंट_आईडी')->संदर्भ('आईडी')->पर('असाइनमेंट')->ऑनडिलीट('कैस्केड')
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Schema::table() + $table->foreign()->references()->on(): adds FK constraint to existing column.
व्याख्या (हिन्दी) स्कीमा::टेबल() + $टेबल->विदेशी()->संदर्भ()->ऑन(): मौजूदा कॉलम में एफके बाधा जोड़ता है।
2976
EN + हिं Medium
GB Which SQL command shows FK constraints on questions table in MySQL
IN कौन सा SQL कमांड MySQL में प्रश्न तालिका पर FK बाधाओं को दिखाता है
A
SHOW TABLES तालिकाएँ दिखाएँ
B
DESCRIBE questions प्रश्नों का वर्णन करें
C
SHOW COLUMNS FROM questions प्रश्नों के कॉलम दिखाएं
D
SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_NAME='questions' Information_schema.KEY_COLUMN_USAGE से * चुनें जहां TABLE_NAME='questions'
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) information_schema.KEY_COLUMN_USAGE: shows all key constraints including foreign keys for a table.
व्याख्या (हिन्दी) information_schema.KEY_COLUMN_USAGE: किसी तालिका के लिए विदेशी कुंजियों सहित सभी प्रमुख बाधाओं को दिखाता है।
2977
EN + हिं Medium
GB To safely drop a column that might not exist in migration
IN उस कॉलम को सुरक्षित रूप से हटाने के लिए जो माइग्रेशन में मौजूद नहीं हो सकता है
A
$table->dropColumn('old_col') $टेबल->ड्रॉपकॉलम('old_col')
B
$table->dropIfExists('old_col') $table->dropIfExists('old_col')
C
DROP COLUMN IF EXISTS old_col यदि पुराना कॉलम मौजूद है तो कॉलम छोड़ें
D
Schema::table('questions',fn($t)=>$t->dropColumn('old_col')) in a try-catch or use Schema::hasColumn() check first स्कीमा::टेबल('प्रश्न',fn($t)=>$t->dropColumn('old_col')) ट्राई-कैच में या पहले Schema::hasColumn() चेक का उपयोग करें
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Schema::hasColumn('table','col') first, then dropColumn if it exists - prevents migration failure.
व्याख्या (हिन्दी) Schema::hasColumn('table','col') पहले, फिर ड्रॉपकॉलम यदि मौजूद है - माइग्रेशन विफलता को रोकता है।
2978
EN + हिं Medium
GB DB::transaction(function(){ /* multiple inserts */ }) advantage
IN DB::लेन-देन(फ़ंक्शन(){/* एकाधिक आवेषण */ }) लाभ
A
Slower execution धीमा निष्पादन
B
Uses more memory अधिक मेमोरी का उपयोग करता है
C
No advantage कोई फायदा नहीं
D
Ensures all inserts succeed or all fail atomically - no partial data यह सुनिश्चित करता है कि सभी आवेषण सफल हों या सभी परमाणु रूप से विफल हों - कोई आंशिक डेटा नहीं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DB::transaction: wraps multiple operations in an atomic transaction - complete success or complete rollback.
व्याख्या (हिन्दी) डीबी::लेनदेन: एक परमाणु लेनदेन में कई परिचालनों को लपेटता है - पूर्ण सफलता या पूर्ण रोलबैक।
2979
EN + हिं Medium
GB Which is the correct way to handle database errors in Laravel
IN लारवेल में डेटाबेस त्रुटियों को संभालने का सही तरीका कौन सा है
A
Use die() डाई() का प्रयोग करें
B
Ignore errors त्रुटियों पर ध्यान न दें
C
Use PHP warnings PHP चेतावनियों का प्रयोग करें
D
Catch Illuminate\\Database\\QueryException for DB errors डीबी त्रुटियों के लिए इल्यूमिनेट\\डेटाबेस\\QueryException पकड़ें
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) QueryException: Laravel's database exception class wrapping PDO exceptions with query context.
व्याख्या (हिन्दी) QueryException: लारवेल का डेटाबेस अपवाद वर्ग PDO अपवादों को क्वेरी संदर्भ के साथ लपेटता है।
2980
EN + हिं Medium
GB DB::table('questions')->lockForUpdate() in a transaction
IN DB::table('questions')->lockForUpdate() एक लेन-देन में
A
Creates a backup एक बैकअप बनाता है
B
Drops all locks सारे ताले गिरा देता है
C
Releases all locks सभी ताले खोलता है
D
Acquires an exclusive lock preventing other transactions from reading/writing these rows एक विशेष लॉक प्राप्त करता है जो अन्य लेनदेन को इन पंक्तियों को पढ़ने/लिखने से रोकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) lockForUpdate(): SELECT ... FOR UPDATE - exclusive lock preventing other transactions from modifying locked rows.
व्याख्या (हिन्दी) LockForUpdate(): SELECT... FOR UPDATE - विशेष लॉक अन्य लेनदेन को लॉक की गई पंक्तियों को संशोधित करने से रोकता है।
2981
EN + हिं Medium
GB DB::table('questions')->sharedLock() in a transaction
IN DB::table('questions')->sharedLock() एक लेन-देन में
A
Exclusive lock विशेष ताला
B
Prevents reads पढ़ने से रोकता है
C
Prevents all access सभी पहुंच को रोकता है
D
Acquires a shared lock allowing reads but preventing exclusive locks from other transactions एक साझा लॉक प्राप्त करता है जो पढ़ने की अनुमति देता है लेकिन अन्य लेनदेन से विशेष लॉक को रोकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) sharedLock(): SELECT ... LOCK IN SHARE MODE - shared lock allowing reads but blocking writers.
व्याख्या (हिन्दी) शेयर्डलॉक(): चयन करें... शेयर मोड में लॉक करें - साझा लॉक पढ़ने की अनुमति देता है लेकिन लेखकों को अवरुद्ध करता है।
2982
EN + हिं Medium
GB Which PHP/Laravel code correctly inserts a question matching the screenshot table format
IN कौन सा PHP/Laravel कोड स्क्रीनशॉट तालिका प्रारूप से मेल खाने वाले प्रश्न को सही ढंग से सम्मिलित करता है
A
DB::insert('INSERT INTO questions VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',[$id,$type,$aid,$level,$q,$a,$b,$c,$d,$e,$ans,$sol,$del,$created,$updated]) DB::insert('प्रश्नों में मान डालें (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',[$id,$type,$aid,$level,$q,$a,$b,$c,$d,$e,$ans,$sol,$del,$created,$updated])
B
Question::make($data) प्रश्न::बनाना($डेटा)
C
DB::table('questions')->insertGetId(['question_type'=>1,'assignment_id'=>1,'q_level'=>null,'question'=>'Q?','option_a'=>'A','option_b'=>'B','option_c'=>'C','option_d'=>'D','option_e'=>null,'right_answer_id'=>'option_a','solution'=>'A is correct','is_deleted'=>0,'created_at'=>now(),'updated_at'=>now()]) DB::table('questions')->insertGetId(['question_type'=>1,'assignment_id'=>1,'q_level'=>null,'question'=>'Q?','option_ a'=>'A','option_b'=>'B','option_c'=>'C','option_d'=>'D','option_e'=>null,'right_answer_id'=>'option_a','solution'=>'A सही है','is_deleted'=>0,'created_at'=>now(),'updated_at'=>now()])
D
Both A and C are correct ए और सी दोनों सही हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Both raw SQL with bindings and Query Builder insertGetId() are valid ways to insert matching the table structure.
व्याख्या (हिन्दी) बाइंडिंग के साथ कच्चे SQL और क्वेरी बिल्डर InsertGetId() दोनों तालिका संरचना से मेल खाने वाले सम्मिलित करने के वैध तरीके हैं।
2971–2982 of 2982