MySQL में उन स्ट्रिंग्स को ढूंढने के लिए जिनमें कम से कम एक लोअरकेस अक्षर (a-z), एक अपरकेस अक्षर (A-Z), और एक अंक (0-9) हो, REGEXP BINARY के साथ AND ऑपरेटर का उपयोग करें।
सिंटैक्स
SELECT * FROM table_name
WHERE column REGEXP BINARY '[a-z]'
AND column REGEXP BINARY '[A-Z]'
AND column REGEXP BINARY '[0-9]';
व्यावहारिक उदाहरण
1. टेबल बनाएं और मिश्रित डेटा डालें
mysql> CREATE TABLE DemoTable738 (UserId VARCHAR(100));
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable738 VALUES
('John'), ('sAm456'), ('98Carol'), ('67david'), ('69MIKE');
Query OK, 5 rows affected (0.15 sec)
2. सभी रिकॉर्ड्स देखें
mysql> SELECT * FROM DemoTable738;
+---------+
| UserId |
+---------+
| John |
| sAm456 |
| 98Carol |
| 67david |
| 69MIKE |
+---------+
5 rows in set (0.00 sec)
3. तीनों प्रकार के वर्णों वाली स्ट्रिंग्स ढूंढें
mysql> SELECT * FROM DemoTable738
WHERE UserId REGEXP BINARY '[A-Z]'
AND UserId REGEXP BINARY '[a-z]'
AND UserId REGEXP BINARY '[0-9]';
+---------+
| UserId |
+---------+
| sAm456 | -- लोअरकेस, अपरकेस, अंक सभी मौजूद
| 98Carol | -- लोअरकेस, अपरकेस, अंक सभी मौजूद
+---------+
2 rows in set (0.03 sec)
क्यों BINARY आवश्यक है
| बिना BINARY | BINARY के साथ |
| केस-असंवेदनशील मिलान | केस-संवेदनशील मिलान |
'[A-Z]' लोअरकेस से भी मिलता है | '[A-Z]' केवल अपरकेस से मिलता है |
| MySQL डिफ़ॉल्ट व्यवहार | स्पष्ट केस संवेदनशीलता |
पैटर्न विश्लेषण
| स्ट्रिंग | [A-Z] | [a-z] | [0-9] | परिणाम |
| John | ✅ J | ✅ ohn | ❌ | बाहर |
| sAm456 | ✅ A | ✅ s, m | ✅ 456 | शामिल |
| 98Carol | ✅ C | ✅ arol | ✅ 98 | शामिल |
| 67david | ❌ | ✅ david | ✅ 67 | बाहर |
| 69MIKE | ✅ MIKE | ❌ | ✅ 69 | बाहर |
एकल REGEXP में संयोजन (उन्नत)
-- लुकअहेड के साथ (MySQL 8.0+ पूर्ण PCRE नहीं, सीमित)
-- व्यावहारिक विकल्प: तीन शर्तें AND के साथ (ऊपर दिखाया गया)
-- या सरल पैटर्न (कम सटीक)
WHERE UserId REGEXP BINARY '[A-Z].*[a-z].*[0-9]|[A-Z].*[0-9].*[a-z]|[a-z].*[A-Z].*[0-9]|[a-z].*[0-9].*[A-Z]|[0-9].*[A-Z].*[a-z]|[0-9].*[a-z].*[A-Z]'
पासवर्ड मान्यता उपयोग मामला
-- पासवर्ड नीति: कम से कम 1 अपरकेस, 1 लोअरकेस, 1 अंक, 8 वर्ण
SELECT * FROM users
WHERE CHAR_LENGTH(password) >= 8
AND password REGEXP BINARY '[A-Z]'
AND password REGEXP BINARY '[a-z]'
AND password REGEXP BINARY '[0-9]';