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

MySQL में REPLACE() फंक्शन से विशिष्ट डुप्लिकेट रिकॉर्ड को नए मान से बदलें

MySQL REPLACE() फंक्शन: कॉलम मान में विशिष्ट टेक्स्ट बदलना

REPLACE(str, from_str, to_str) फंक्शन स्ट्रिंग में from_str के सभी घटनाओं को to_str से बदल देता है। इसका उपयोग UPDATE में करके डुप्लिकेट मानों को बल्क में बदला जा सकता है।

उदाहरण: सभी 'Chris' को 'Adam Smith' में बदलें

टेबल बनाएं:

CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(50)
);

INSERT INTO DemoTable (Name) VALUES ('Chris'), ('Robert'), ('Chris'), ('David'), ('Mike');

डेटा:

+----+--------+
| Id | Name   |
+----+--------+
| 1  | Chris  |
| 2  | Robert |
| 3  | Chris  |
| 4  | David  |
| 5  | Mike   |
+----+--------+

REPLACE के साथ UPDATE

UPDATE DemoTable SET Name = REPLACE(Name, 'Chris', 'Adam Smith');

परिणाम:

Query OK, 2 rows affected (0.17 sec)
Rows matched: 5  Changed: 2  Warnings: 0

अपडेट के बाद डेटा

SELECT * FROM DemoTable;
+----+------------+
| Id | Name       |
+----+------------+
| 1  | Adam Smith |
| 2  | Robert     |
| 3  | Adam Smith |
| 4  | David      |
| 5  | Mike       |
+----+------------+

महत्वपूर्ण: REPLACE() सभी घटनाएं बदलता है

-- WHERE क्लॉज जोड़ें
UPDATE DemoTable SET Name = 'Adam Smith' WHERE Name = 'Chris';

-- या CASE के साथ
UPDATE DemoTable SET Name = CASE WHEN Name = 'Chris' THEN 'Adam Smith' ELSE Name END;

REPLACE() के अन्य उपयोग

  • स्पेस सामान्यीकरण: REPLACE(Name, ' ', ' ')
  • विशेष वर्ण हटाना: REPLACE(Phone, '-', '')
  • URL एन्कोडिंग: REPLACE(url, ' ', '%20')
  1. MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें

    information_schema.columns टेबल को क्वेरी करके डेटाबेस में विशिष्ट कॉलम नाम वाली सभी टेबल खोजें। सिंटैक्स SELECT DISTINCT table_name FROM information_schema.columns WHERE column_name LIKE %yourSearchValue% AND table_schema = DATABASE(); उदाहरण: Client वाली कॉलम खोजना SELECT DISTINCT table_name FR

  1. - MySQL में विशिष्ट कॉलम मान (नाम) प्राप्त करें

    विशिष्ट कॉलम मान प्राप्त करने के लिए LIKE क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1809 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1809 values(John); Qu

  1. - MySQL में टेबल बदलें ताकि परिकलित औसत स्कोर फ़ील्ड INSERT/UPDATE के बिना दिखे

    समाधान GENERATED ALWAYS AS ... VIRTUAL कॉलम का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType GENERATED ALWAYS AS ((col1 + col2 + ... + colN) / N) VIRTUAL; उदाहरण टेबल बनाएं: INSERT INTO demo32 VALUES (30,60), (20,40), (35,35); वर्चुअल कॉलम जोड़ें GENERATE