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

MySQL-এ GROUP_CONCAT ব্যবহার করে JSON ফরম্যাট তৈরি করা

MySQL-এ GROUP_CONCAT() ফাংশন ব্যবহার করে JSON ফরম্যাট তৈরি করা যায়। সিনট্যাক্স:

SELECT yourColumnName1, GROUP_CONCAT(CONCAT('{anyName:"', yourColumnName, '", anyName:"', yourColumnName, '"}')) AS anyVariableName FROM yourTableName GROUP BY yourColumnName1;

সিনট্যাক্স বুঝতে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE JsonFormatDemo (
    -> UserId INT,
    -> UserName VARCHAR(100),
    -> UserEmail VARCHAR(100)
    -> ); Query OK, 0 rows affected (0.99 sec)

ইনসার্ট কমান্ড দিয়ে রেকর্ড ইনসার্ট করি:

mysql> INSERT INTO JsonFormatDemo VALUES(101,'John','John@gmail.com'); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO JsonFormatDemo VALUES(101,'Bob','John@gmail.com'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO JsonFormatDemo VALUES(102,'Carol','Carol@gmail.com'); Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO JsonFormatDemo VALUES(103,'Sam','Sam@gmail.com'); Query OK, 1 row affected (0.15 sec)

সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখি:

mysql> SELECT * FROM JsonFormatDemo;

আউটপুট

+--------+----------+-----------------+
| UserId | UserName | UserEmail       |
+--------+----------+-----------------+
|  101   | John     | John@gmail.com  |
|  101   | Bob      | John@gmail.com  |
|  102   | Carol    | Carol@gmail.com |
|  103   | Sam      | Sam@gmail.com   |
+--------+----------+-----------------+
4 rows in set (0.00 sec)

GROUP_CONCAT() ফাংশন ব্যবহার করে JSON ফরম্যাট তৈরির ক্যোয়ারি:

mysql> SELECT UserId,
    -> GROUP_CONCAT(CONCAT('{Name:"', UserName, '", Email:"', UserEmail, '"}')) AS JsonFormat
    -> FROM JsonFormatDemo
    -> GROUP BY UserId;

আউটপুট

+--------+----------------------------------------------------------------------------+
| UserId | JsonFormat                                                                 |
+--------+----------------------------------------------------------------------------+
|  101   | {Name:"John", Email:"John@gmail.com"},{Name:"Bob", Email:"John@gmail.com"} |
|  102   | {Name:"Carol", Email:"Carol@gmail.com"}                                    |
|  103   | {Name:"Sam", Email:"Sam@gmail.com"}                                        |
+--------+----------------------------------------------------------------------------+
3 rows in set (0.00 sec)
  1. MySQL-এ JSON ফরম্যাটে কলাম আপডেট করা (CONCAT ব্যবহার করে)

  2. MySQL-ে ইনডেক্সসহ টেবিল তৈরি করা (CREATE INDEX)

  3. MySQL에서 VIEW(뷰) 생성하고 조회하기

  4. MySQL-এ DATE_FORMAT() ফাংশন ব্যবহার করে ডেট কলামের ফরম্যাট পরিবর্তন করা