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

MySQL REGEXP-এ পারেনথেসিস এস্কেপ করে নির্দিষ্ট ফরম্যাট (MySQL(1)Database) বের করা


টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable1908 ( Code text ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1908 values('MySQL(1)Database'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1908 values('MongoDB 2 Database'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1908 values('MySQL(3)Database'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1908 values('SQL Server(10)Database'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1908 values('MySQL 8 Database'); Query OK, 1 row affected (0.00 sec)

সব রেকর্ড

mysql> select * from DemoTable1908;
+------------------------+
| Code                   |
+------------------------+
| MySQL(1)Database       |
| MongoDB 2 Database     |
| MySQL(3)Database       |
| SQL Server(10)Database |
| MySQL 8 Database       |
+------------------------+
5 rows in set (0.00 sec)

পারেনথেসিস এস্কেপ করে রেগেক্স ম্যাচ

'MySQL' দিয়ে শুরু, তারপর '(', একটা ডিজিট, ')', 'Database' দিয়ে শেষ:

mysql> select * from DemoTable1908 where Code regexp '^MySQL[(][0-9][)]Database';
+------------------+
| Code             |
+------------------+
| MySQL(1)Database |
| MySQL(3)Database |
+------------------+
2 rows in set (0.00 sec)

ব্যাখ্যা: REGEXP-এ '(' এবং ')' স্পেশাল ক্যারেক্টার (গ্রুপিং)। লিটারেল পারেনথেসিস ম্যাচ করতে ক্যারেক্টার ক্লাসে রাখা হয়: [(] এবং [)]। অথবা ব্যাকস্ল্যাশ দিয়ে এস্কেপ: \\( \\). [0-9] একটা ডিজিট ম্যাচ করে। 'MySQL 8 Database' ম্যাচ নয় কারণ পারেনথেসিস নেই। 'SQL Server(10)Database' ম্যাচ নয় কারণ 'MySQL' দিয়ে শুরু নয়।

  1. MySQL-এ নির্দিষ্ট ভ্যালু প্রথমে দেখিয়ে বাকি অর্ডার করানো (ORDER BY ট্রিক)

  2. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  3. MySQL-এ JDBC ব্যবহার করে ব্যাকস্ল্যাশ ইস্কেপ করার উপায়

  4. MySQL-এ IN ক্লজ এবং ORDER BY FIELD ব্যবহার করে নির্দিষ্ট ক্রমে ডেটা বের করা