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

MySQL-এ MD5() দিয়ে প্রতিটি রোর হ্যাশ মান বের করা

MySQL-এ একটি টেবিলের প্রতিটি রোর সব কলামের মান মিলিয়ে একটি অনন্য হ্যাশ মান বের করতে MD5(CONCAT(...)) ব্যবহার করুন।

সিনট্যাক্স

SELECT MD5(CONCAT(yourColumnName1, yourColumnName2, yourColumnName3, ...)) AS anyVariableName FROM yourTableName;

উদাহরণ

টেবিল তৈরি করি:

mysql> create table getHashValueForEachRow 
    -> ( 
    -> Id int NOT NULL AUTO_INCREMENT, 
    -> Name varchar(20), 
    -> Age int, 
    -> Marks int, 
    -> PRIMARY KEY(Id) 
    -> ); Query OK, 0 rows affected (1.25 sec)

রেকর্ড ইনসার্ট:

mysql> insert into getHashValueForEachRow(Name,Age,Marks) values('Larry',24,89); 
mysql> insert into getHashValueForEachRow(Name,Age,Marks) values('David',26,98); 
mysql> insert into getHashValueForEachRow(Name,Age,Marks) values('Bob',21,67); 
mysql> insert into getHashValueForEachRow(Name,Age,Marks) values('Sam',22,56); 
mysql> insert into getHashValueForEachRow(Name,Age,Marks) values('Mike',25,80);

সকল রেকর্ড

mysql> select *from getHashValueForEachRow;

আউটপুট

+----+-------+------+-------+
| Id | Name  | Age  | Marks |
+----+-------+------+-------+
|  1 | Larry | 24   | 89    |
|  2 | David | 26   | 98    |
|  3 | Bob   | 21   | 67    |
|  4 | Sam   | 22   | 56    |
|  5 | Mike  | 25   | 80    |
+----+-------+------+-------+

প্রতি রোর MD5 হ্যাশ বের করুন

mysql> SELECT MD5(CONCAT(Id, Name, Age, Marks)) AS HashValueOfEachRow FROM getHashValueForEachRow;

ফলাফল

+----------------------------------+
| HashValueOfEachRow               |
+----------------------------------+
| a5f6b8e1a701d467cf1b4d141027ca27 |
| 6e649522c773b6a6672e625939eb4225 |
| 8bd419e9b7e9e014a4dc0596d70e93c8 |
| 504cf50194a2a6e3481dfa9b8568b9e6 |
| 08716a8dad7105a00c49ea30d278b315 |
+----------------------------------+
ব্যবহার: ডেটা অখণ্ডতা যাচাই, রো-লেভেল চেঞ্জ ডিটেকশন, বা ক্যাশ কী তৈরিতে এই হ্যাশ মান ব্যবহার করা যায়। নিরাপত্তা-সংবেদনশীল কাজে SHA2() ব্যবহার করুন।
  1. MySQL-এ GROUP BY + MAX() ব্যবহার করে প্রতিটি গ্রুপের সর্বোচ্চ মান বের করা

  2. MySQL-এ COALESCE() ব্যবহার করে খালি সারি/NULL-এর জন্য ডিফল্ট মান সেট করা

  3. MySQL-এ SELECT ... INTO @variable ব্যবহার করে নির্দিষ্ট রো থেকে একক মান বের করা

  4. MySQL-এ নির্দিষ্ট শর্ত অনুযায়ী সিঙ্গেল রো বের করা