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

MySQL में विशिष्ट इनपुट के आधार पर टेबल कॉलम से कई पंक्तियाँ कैसे प्राप्त करें?

विशिष्ट कॉलम मान के आधार पर पंक्तियाँ फ़िल्टर करना

MySQL में WHERE क्लॉज का उपयोग करके आप किसी विशिष्ट कॉलम मान से मेल खाने वाली सभी पंक्तियाँ प्राप्त कर सकते हैं। यह सबसे बुनियादी और आमतौर पर उपयोग किया जाने वाला ऑपरेशन है।

टेबल बनाना

mysql> CREATE TABLE DemoTable1528 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20),
    -> StudentSubject VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.53 sec)

डेटा डालना

mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Chris','MongoDB');
Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Bob','MySQL');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('David','Java');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Carol','C');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Sam','Java');
Query OK, 1 row affected (0.08 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Mike','Java');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable1528(StudentName,StudentSubject) VALUES ('Adam','MySQL');
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable1528;
+-----------+-------------+----------------+
| StudentId | StudentName | StudentSubject |
+-----------+-------------+----------------+
|         1 | Chris       | MongoDB        |
|         2 | Bob         | MySQL          |
|         3 | David       | Java           |
|         4 | Carol       | C              |
|         5 | Sam         | Java           |
|         6 | Mike        | Java           |
|         7 | Adam        | MySQL          |
+-----------+-------------+----------------+
7 rows in set (0.00 sec)

विशिष्ट विषय के लिए पंक्तियाँ प्राप्त करना (Java)

mysql> SELECT StudentId, StudentName, StudentSubject 
    -> FROM DemoTable1528 
    -> WHERE StudentSubject = 'Java';

परिणाम

+-----------+-------------+----------------+
| StudentId | StudentName | StudentSubject |
+-----------+-------------+----------------+
|         3 | David       | Java           |
|         5 | Sam         | Java           |
|         6 | Mike        | Java           |
+-----------+-------------+----------------+
3 rows in set (0.00 sec)

महत्वपूर्ण बिंदु

  • WHERE क्लॉज फ़िल्टरिंग की शर्त निर्दिष्ट करता है
  • स्ट्रिंग मान सिंगल कोट्स में होने चाहिए: 'Java'
  • कॉलम नाम बैकटिक्स में हो सकते हैं: \`StudentSubject\`
  • केस संवेदनशीलता कॉलेशन पर निर्भर करती है (डिफ़ॉल्ट केस-असंवेदनशील)

उन्नत फ़िल्टरिंग विकल्प

एकाधिक मानों के लिए (IN ऑपरेटर)

SELECT * FROM DemoTable1528 
WHERE StudentSubject IN ('Java', 'MySQL');

पैटर्न मिलान के लिए (LIKE ऑपरेटर)

SELECT * FROM DemoTable1528 
WHERE StudentSubject LIKE 'J%';  -- J से शुरू होने वाले विषय

केस-संवेदनशील तुलना

SELECT * FROM DemoTable1528 
WHERE StudentSubject = BINARY 'java';  -- केवल लोअरकेस 'java' से मेल खाएगा

प्रदर्शन युक्ति

अक्सर फ़िल्टर किए जाने वाले कॉलम्स पर इंडेक्स बनाएं:

CREATE INDEX idx_subject ON DemoTable1528(StudentSubject);

यह बड़े टेबल्स पर WHERE क्लॉज क्वेरीज़ को काफी तेज़ कर देगा।

  1. Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना

    ResultSetMetaData का उपयोग करके कॉलम मेटाडेटा प्राप्त करना इसके लिए ResultSetMetaData का उपयोग करें। पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCHAR(20), StudentLastName VARCHAR(20) ); Query OK, 0 rows affect

  1. - MySQL टेबल में विशिष्ट तारीख की घटनाओं की गिनती कैसे करें?

    MySQL में किसी DATE कॉलम में विशिष्ट तारीख की घटनाओं (occurrences) को गिनने के लिए, COUNT(*) के साथ WHERE date(column) = target_date का उपयोग करें। यह सरल, कुशल, और इंडेक्स-अनुकूल है। उदाहरण: 2019-12-11 तारीख की गिनती डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1946 (ShippingDate DATE); डेट

  1. - MySQL में एक ही INSERT से कई पंक्तियाँ एक साथ कैसे डालें?

    मल्टी-रो INSERT सिंटैक्स insert into yourTableName values (val1, val2, ...), (val1, val2, ...), (val1, val2, ...); उदाहरण (4,Carol,Taylor,20); परिणाम +------+------------+-----------+------+ | id | first_name | last_name | age | +------+------------+-----------+------+ | 1 | John