Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में हजारों टेबल वाले डेटाबेस से चार रैंडम टेबल कैसे चुनें?

MySQL में INFORMATION_SCHEMA से रैंडम टेबल नाम प्राप्त करना

INFORMATION_SCHEMA.TABLES टेबल में डेटाबेस की सभी टेबल की मेटाडेटा होती है। ORDER BY RAND() और LIMIT का उपयोग करके आप रैंडम टेबल नाम प्राप्त कर सकते हैं।

सिंटैक्स

SELECT TABLE_NAME AS anyAliasName 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'yourDatabaseName' 
ORDER BY RAND() 
LIMIT yourLimitNumber;

उदाहरण: 'web' डेटाबेस से 4 रैंडम टेबल

SELECT TABLE_NAME AS Random4TableName 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'web' 
ORDER BY RAND() 
LIMIT 4;

संभावित आउटपुट:

+------------------+
| Random4TableName |
+------------------+
| demotable474     |
| demotable313     |
| demotable452     |
| demotable382     |
+------------------+

महत्वपूर्ण नोट्स

  • TABLE_SCHEMA — आपके डेटाबेस का नाम
  • ORDER BY RAND() — परिणामों को रैंडम क्रम में व्यवस्थित करता है
  • LIMIT 4 — केवल 4 पंक्तियां लौटाता है
  • बहुत बड़ी संख्या में टेबल होने पर ORDER BY RAND() धीमा हो सकता है

बड़े डेटाबेस के लिए बेहतर विकल्प

यदि टेबल हजारों में हैं, तो ORDER BY RAND() प्रदर्शन समस्या पैदा कर सकता है। विकल्प:

-- रैंडम ऑफसेट की गणना करें
SELECT COUNT(*) INTO @total FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'web';
SET @offset = FLOOR(RAND() * @total);

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'web' 
LIMIT 4 OFFSET @offset;

यह तरीका बड़े डेटासेट के लिए बहुत तेज़ है।

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर

  1. - MySQL में ORDER BY RAND() LIMIT 1 से यादृच्छिक रिकॉर्ड चुनें

    MySQL में ORDER BY RAND() LIMIT 1 का उपयोग करके टेबल से एक यादृच्छिक पंक्ति चुन सकते हैं। सिंटैक्स SELECT * FROM टेबल_नाम ORDER BY RAND() LIMIT 1; उदाहरण 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable1581(StudentName) VALUES(Chris), (Bob), (Sam), (Mike), (Carol); 3. यादृच्छिक पंक्ति चुन

  1. - MySQL में टेबल जोड़कर (JOIN) मान कैसे प्राप्त करें?

    JOIN का उपयोग दो टेबल को सामान्य कॉलम (PK-FK) पर जोड़ें। टेबल 1: demo52 insert into demo52 values(1,John), (2,David), (3,Mike); टेबल 2: demo53 (FK से demo52) insert into demo53 values(1,23), (2,22), (3,26); JOIN क्वेरी SELECT name FROM demo52 t1 JOIN demo53 t2 ON t1.id=t2.id WHERE t1.id=1; +-