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

MySQL में REGEXP BINARY का उपयोग करके स्ट्रिंग्स में लोअरकेस, अपरकेस और अंक खोजना

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 आवश्यक है

बिना BINARYBINARY के साथ
केस-असंवेदनशील मिलानकेस-संवेदनशील मिलान
'[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]';
  1. - MySQL में "The " से शुरू होने वाले स्ट्रिंग्स को TRIM() के साथ कैसे क्रमबद्ध करें?

    MySQL में TRIM(LEADING The FROM column) का उपयोग करके The प्रीफिक्स को अनदेखा करके वर्णानुक्रम में क्रमबद्ध किया जा सकता है। उदाहरण तालिका बनाएं: (Python is good language); डेटा +----------------------------------+ | Title | +----------------------------------+ | Mong

  1. - MySQL में BigQuery से समय में मिनट कैसे निकालें

    समाधान EXTRACT() और CAST() का उपयोग करके समय कॉलम से मिनट निकालें। सिंटैक्स SELECT EXTRACT(MINUTE FROM CAST(yourColumnName AS TIME)) AS aliasName FROM yourTableName; उदाहरण टेबल बनाएं: INSERT INTO demo15 VALUES (10:30:45), (06:34:55); क्वेरी SELECT EXTRACT(MINUTE FROM CAST(value AS TIME)) AS Mi

  1. - MySQL डेटाबेस बनाना और उपयोग करना

    एक बार MySQL इंस्टॉल हो जाने पर, और उपयोगकर्ता को पता है कि SQL स्टेटमेंट कैसे दर्ज करने हैं, एक डेटाबेस एक्सेस किया जा सकता है। आइए डेटाबेस में टेबल से डेटा प्राप्त करने के लिए आवश्यक चरणों को समझते हैं: सर्वर से कनेक्ट करें एक डेटाबेस बनाएं एक टेबल बनाएं टेबल में डेटा लोड करें टेबल से डेटा प्राप