CONCAT(), SUBSTR() और REPEAT() का उपयोग करके पासवर्ड मास्क करना
डेटा फ़ील्ड मास्क करने के लिए CONCAT() के साथ REPEAT() का उपयोग करें। यहां हम # से डेटा फ़ील्ड मास्क करेंगे। पहले टेबल बनाएं:
mysql> create table DemoTable1410 ( Password varchar(80) ); Query OK, 0 rows affected (0.51 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1410 values('John12345678'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1410 values('Carol_897'); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1410 values('David_5647383'); Query OK, 1 row affected (0.17 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1410;
आउटपुट:
+---------------+ | Password | +---------------+ | John12345678 | | Carol_897 | | David_5647383 | +---------------+ 3 rows in set (0.00 sec)
MySQL में डेटा फ़ील्ड मास्क करने की क्वेरी:
mysql> update DemoTable1410 set Password=concat(substr(Password, 1, 5), repeat('#', char_length(Password) - 5)); Query OK, 3 rows affected (0.16 sec) Rows matched: 3 Changed: 3 Warnings: 0
फिर से रिकॉर्ड जांचें:
mysql> select * from DemoTable1410;
आउटपुट:
+---------------+ | Password | +---------------+ | John1####### | | Carol#### | | David######## | +---------------+ 3 rows in set (0.00 sec)
व्याख्या: SUBSTR(Password, 1, 5) पहले 5 वर्ण रखता है। CHAR_LENGTH(Password) - 5 शेष लंबाई की गणना करता है। REPEAT('#', ...) उतने # वर्ण उत्पन्न करता है। CONCAT दोनों को जोड़ता है। UPDATE टेबल में डेटा को स्थायी रूप से मास्क करता है। केवल प्रदर्शन के लिए मास्क करने के लिए, SELECT में इसी अभिव्यक्ति का उपयोग करें बिना UPDATE के।