Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में स्ट्रिंग का एक भाग (डोमेन नाम @ के बाद) कैसे बदलें?

परिचय

ईमेल पतों में डोमेन नाम बदलने के लिए MySQL के REPLACE() फंक्शन का उपयोग किया जा सकता है। यह तब उपयोगी होता है जब आपको थोक में ईमेल डोमेन अपडेट करने हों।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> EmailId VARCHAR(30)
    -> );
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO DemoTable VALUES('John123@example.com');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('John123@gmail.com');
Query OK, 1 row affected (0.26 sec)
mysql> INSERT INTO DemoTable VALUES('John123@yahoo.com');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable VALUES('John123@example.com');
Query OK, 1 row affected (0.10 sec)

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+---------------------+
| EmailId             |
+---------------------+
| John123@example.com |
| John123@gmail.com   |
| John123@yahoo.com   |
| John123@example.com |
+---------------------+
4 rows in set (0.00 sec)

डोमेन बदलने की UPDATE क्वेरी

mysql> UPDATE DemoTable
    -> SET EmailId = REPLACE(EmailId, 'John123@example.com', 'John123@gmail.com');
Query OK, 2 rows affected (0.16 sec)
Rows matched: 4  Changed: 2  Warnings: 0

अपडेट के बाद रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------------------+
| EmailId           |
+-------------------+
| John123@gmail.com |
| John123@gmail.com |
| John123@yahoo.com |
| John123@gmail.com |
+-------------------+
4 rows in set (0.00 sec)

व्याख्या

  • REPLACE(EmailId, 'old', 'new') - प्रत्येक ईमेल में 'old' स्ट्रिंग को 'new' से बदलता है
  • यह पूरा ईमेल पता बदलता है, केवल डोमेन भाग नहीं
  • Rows matched: 4 - 4 पंक्तियां जांची गईं
  • Changed: 2 - केवल 2 पंक्तियां वास्तव में बदलीं (जिनमें example.com था)

केवल डोमेन भाग बदलने के लिए

यदि आप केवल @ के बाद का भाग बदलना चाहते हैं:

UPDATE DemoTable
SET EmailId = CONCAT(SUBSTRING_INDEX(EmailId, '@', 1), '@newdomain.com')
WHERE EmailId LIKE '%@example.com';

यह अधिक लचीला दृष्टिकोण है जो उपयोगकर्ता नाम भाग को बरकरार रखता है।

  1. - MySQL क्वेरी: डॉट से पहले स्ट्रिंग के भाग को बदलें

    CONCAT() और SUBSTRING_INDEX() का उपयोग करके दशमलव से पहले का भाग बदलना इसके लिए CONCAT() के साथ SUBSTRING_INDEX() का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1424 ( Value varchar(60) ); Query OK, 0 rows affected (0.56 sec) रिकॉर्ड डालें: insert into DemoTable1424 values(90944.665665); Qu

  1. - MySQL में SUBSTRING_INDEX से स्ट्रिंग विभाजित करना

    SUBSTRING_INDEX() से नाम विभाजित करना SUBSTRING_INDEX(str, delim, count) डिलीमीटर के आधार पर सबस्ट्रिंग निकालता है। धनात्मक count बाएँ से, ऋणात्मक दाएँ से गिनता है। तालिका और डेटा (Chris Brown), (David Miller), (John Doe); पहला और अंतिम नाम निकालना FROM DemoTable1465; परिणाम +----------------

  1. - MySQL में स्ट्रिंग में केवल पहली बार आने वाले शब्द को कैसे रिप्लेस करें?

    REGEXP_REPLACE() फ़ंक्शन केवल पहली occurrence बदलने के लिए REGEXP_REPLACE() का उपयोग करें (MySQL 8.0+)। उदाहरण स्ट्रिंग: This is my first MySQL query. This is the first tutorial. I am learning for the first time. first का पहला occurrence second से रिप्लेस करना है। टेबल और डेटा insert into demo26