কম্পিউটার টিউটোরিয়াল

MySQL-এ REGEXP BINARY দিয়ে ছোট হাত, বড় হাত ও সংখ্যা সম্বলিত স্ট্রিং খোঁজা

MySQL-এ কেস-সেনসিটিভ রেগুলার এক্সপ্রেশন (REGEXP BINARY) ব্যবহার করে একসাথে ছোট হাতের অক্ষর (a-z), বড় হাতের অক্ষর (A-Z) এবং সংখ্যা (0-9) সম্বলিত স্ট্রিং খুঁজে বের করা যায়।

উদাহরণ

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

সব রেকর্ড

mysql> SELECT * FROM DemoTable738;
+---------+
| UserId  |
+---------+
| John    |
| sAm456  |
| 98Carol |
| 67david |
| 69MIKE  |
+---------+

একসাথে a-z, A-Z, 0-9 থাকা স্ট্রিং

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 |
+---------+

ব্যাখ্যা

  • REGEXP BINARY → কেস-সেনসিটিভ ম্যাচ (ডিফল্ট কেস-ইনসেনসিটিভ)
  • [A-Z] → কমপক্ষে একটি বড় হাতের অক্ষর
  • [a-z] → কমপক্ষে একটি ছোট হাতের অক্ষর
  • [0-9] → কমপক্ষে একটি সংখ্যা
  • AND → তিনো শর্ত পূরণ করতে হবে

সিঙ্গেল রেগেক্স (লুকাHEAD, MySQL 8.0+)

WHERE UserId REGEXP BINARY '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).+$'
  1. MySQL-এ ORDER BY DESC LIMIT 1 OFFSET 1 ব্যবহার করে সেকেন্ড ম্যাক্সিমাম মান বের করুন

  2. MySQL-এ 'The ' প্রিফিক্স bỏড়িয়ে স্ট্রিং সর্ট করা (TRIM + ORDER BY)

  3. MySQL-এ FIND_IN_SET() ব্যবহার করে কমা-সেপারেটেড লিস্টে মান খুঁজে বের করা

  4. MySQL ডেটাবেস তৈরি ও ব্যবহার