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

MySQL के साथ तालिका से यादृच्छिक पंक्तियाँ प्राप्त करें

<घंटा/>

इसके लिए आप PREPARE स्टेटमेंट का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable(FirstName varchar(100), CountryName varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.53 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> डेमोटेबल मानों में डालें ('एडम', 'यूएस'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें ('क्रिस', 'एयूएस'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड)mysql> डेमोटेबल मानों में डालें ('रॉबर्ट', 'यूके'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.32 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+-----------+---------------+| प्रथम नाम | देश का नाम |+-----------+---------------+| एडम | यूएस || क्रिस | ऑस्ट्रेलिया || रॉबर्ट | यूके | +-----------+---------------+3 पंक्तियाँ सेट में (0.00 सेकंड)

एक ही क्वेरी में रैंडम पंक्तियों को लाने की क्वेरी निम्नलिखित है -

mysql> सेट @value:=ROUND((DemoTable से गिनती (*) चुनें) * रैंड ()); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) mysql> @query सेट करें:=CONCAT ('से चुनें * से डेमोटेबल LIMIT ', @value,', 1'); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं (0.00 सेकंड) mysql> @query से myStatement तैयार करें; क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं (0.00 सेकंड) स्टेटमेंट तैयार किया गया हैmysql> myStatement निष्पादित करें; +-- ---------+---------------+| प्रथम नाम | देश का नाम |+-----------+---------------+| क्रिस | AUS |+----------+------------+1 पंक्ति में सेट (0.00 सेकंड)mysql> डीललोकेट तैयार myStatement;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं ( 0.00 सेकंड)

  1. - MySQL वाली तालिका में केवल विशिष्ट पंक्तियों को हटाएं

    केवल विशिष्ट पंक्तियों को हटाने के लिए, MySQL NOT IN () का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1830 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) )AUTO_INCREMENT=101;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल

  1. - MySQL में पंक्तियों को एक तालिका से दूसरी तालिका में कैसे कॉपी करें?

    इसके लिए INSERT INTO SELECT स्टेटमेंट का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1879 (Id int, Name varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1879 मानों में डालें (103, एडम स्मिथ); क्वेरी ठीक है,

  1. - एक ही क्वेरी में IN () के साथ MySQL तालिका से रिकॉर्ड हटाएं

    आइए एक टेबल बनाएं - टेबल बनाएं DemoTable1922 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1922(StudentName) मानों (माइक) में डालें; क्वेरी ठीक है, 1 पंक्त