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

क्या MySQL में REGEXP के साथ UPDATE संभव है?


उत्तर: नहीं

MySQL REGEXP के साथ सीधे UPDATE का समर्थन नहीं करता। इसके बजाय आपको LIKE ऑपरेटर के साथ REPLACE() फंक्शन का उपयोग करना होगा।

सिंटैक्स

UPDATE yourTableName 
SET yourColumnName = REPLACE(yourColumnName, 'yourValue', '') 
WHERE yourColumnName LIKE '%yourValueThatWillReplace%';

व्यावहारिक उदाहरण

टेबल बनाना

mysql> CREATE TABLE Replace_Demo (
    Id INT NOT NULL AUTO_INCREMENT,
    Value VARCHAR(20),
    PRIMARY KEY(Id)
);

डेटा डालना

mysql> INSERT INTO Replace_Demo(Value) VALUES('221)');
mysql> INSERT INTO Replace_Demo(Value) VALUES('321');
mysql> INSERT INTO Replace_Demo(Value) VALUES('354)');
mysql> INSERT INTO Replace_Demo(Value) VALUES('223)');
mysql> INSERT INTO Replace_Demo(Value) VALUES('446');

अपडेट से पहले डेटा

+----+-------+
| Id | Value |
+----+-------+
|  1 | 221)  |
|  2 | 321   |
|  3 | 354)  |
|  4 | 223)  |
|  5 | 446   |
+----+-------+

LIKE ऑपरेटर के साथ UPDATE

mysql> UPDATE Replace_Demo 
SET Value = REPLACE(Value, '221)', '') 
WHERE Value LIKE '%221%)';

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

+----+-------+
| Id | Value |
+----+-------+
|  1 |       |
|  2 | 321   |
|  3 | 354)  |
|  4 | 223)  |
|  5 | 446   |
+----+-------+

मुख्य बिंदु

  • MySQL में UPDATE ... WHERE column REGEXP ... समर्थित नहीं है।
  • LIKE पैटर्न मिलान के साथ REPLACE() का उपयोग करें।
  • जटिल पैटर्न के लिए, एप्लिकेशन लेयर (PHP, Python, आदि) में प्रोसेस करें।
  1. Java से MySQL डेटाबेस में डेटा कैसे अपडेट करें? Java से MySQL डेटाबेस में डेटा कैसे अपडेट करें?

    JDBC का उपयोग करके MySQL में रिकॉर्ड अपडेट करें Java से MySQL डेटाबेस में डेटा अपडेट करने के लिए, आप JDBC (Java Database Connectivity) API के साथ SQL UPDATE कथन का उपयोग करते हैं। SQL सिंटैक्स UPDATE टेबल_नाम SET कॉलम1 = मान1, कॉलम2 = मान2, ... WHERE शर्त; पूर्ण Java उदाहरण 1. डेटाबेस तैयारी IN

  1. Java MySQL का उपयोग करके MySQL टेबल अपडेट करें Java MySQL का उपयोग करके MySQL टेबल अपडेट करें

    JDBC में PreparedStatement का उपयोग करके पैरामीटरीकृत अपडेट को सुरक्षित रूप से निष्पादित करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable(Id INT, FirstName VARCHAR(40)); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES(100,Chris),(111,Mike),(121,Sam); अपडेट से पहले SELECT

  1. - MySQL REGEXP: विशिष्ट संख्या से शुरू होने वाले स्ट्रिंग+नंबर रिकॉर्ड प्राप्त करें

    REGEXP पैटर्न Select yourColumnName1, yourColumnName2 from yourTableName where yourColumnName2 REGEXP ^yourStringValue[yourNumericValue]; उदाहरण: John से शुरू और फिर 5 या 6 insert into demo45(value) values(John500), (John1500), (John5500), (John6500), (John8600); क्वेरी: ^John[56] select id,val