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

MySQL में CONCAT और ALTER TABLE ADD COLUMN से दो फील्ड जोड़कर तीसरा अपडेट करें

MySQL में ALTER TABLE ... ADD COLUMN से नया कॉलम जोड़ें, फिर UPDATE ... SET ... CONCAT() से दो मौजूदा कॉलम जोड़कर नए कॉलम को भरें।

चरण

  1. ALTER TABLE - नया कॉलम जोड़ें
  2. UPDATE - CONCAT() से मान भरें

उदाहरण: FirstName + LastName = FullName

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable1590 (
    -> FirstName VARCHAR(20),
    -> LastName VARCHAR(20)
    -> );

2. डेटा डालें

mysql> INSERT INTO DemoTable1590 VALUES('Adam', 'Smith');
mysql> INSERT INTO DemoTable1590 VALUES('John', 'Doe');
mysql> INSERT INTO DemoTable1590 VALUES('David', 'Miller');

3. FullName कॉलम जोड़ें

mysql> ALTER TABLE DemoTable1590 ADD COLUMN FullName VARCHAR(40);

4. CONCAT से भरें

mysql> UPDATE DemoTable1590
    -> SET FullName = CONCAT(FirstName, ' ', LastName);

5. परिणाम

mysql> SELECT * FROM DemoTable1590;
+-----------+----------+--------------+
| FirstName | LastName | FullName     |
+-----------+----------+--------------+
| Adam      | Smith    | Adam Smith   |
| John      | Doe      | John Doe     |
| David     | Miller   | David Miller |
+-----------+----------+--------------+

CONCAT विकल्प

  • CONCAT_WS(' ', FirstName, LastName) - विभाजक के साथ, NULL अनदेखा करता है
  • CONCAT(FirstName, ' ', LastName) - कोई NULL होने पर परिणाम NULL

NULL सुरक्षित संस्करण

UPDATE DemoTable1590
SET FullName = CONCAT_WS(' ', FirstName, LastName);

जेनरेटेड कॉलम विकल्प (MySQL 5.7+)

ALTER TABLE DemoTable1590
ADD COLUMN FullName VARCHAR(40) 
GENERATED ALWAYS AS (CONCAT_WS(' ', FirstName, LastName)) STORED;
  • स्वचालित रूप से अद्यतन होता है
  • मैन्युअल UPDATE की आवश्यकता नहीं
  • संगति गारंटी

वर्चुअल vs स्टोर्ड

प्रकारस्टोरेजअपडेटइंडेक्स
VIRTUALनहींपढ़ने पर गणनानहीं
STOREDहांलिखने पर गणनाहां

सर्वोत्तम अभ्यास

नए डिज़ाइन के लिए जेनरेटेड कॉलम (STORED) पसंद करें। मौजूदा टेबल माइग्रेशन के लिए ALTER + UPDATE पैटर्न उपयोग करें।

  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 में SUM और FORMAT संयोजित करके परिणाम फॉर्मेट कैसे करें?

    MySQL में संख्यात्मक कॉलम का योग निकालकर उसे फॉर्मेटेड स्ट्रिंग (दशमलव स्थान, हजार सेपरेटर) के रूप में प्रदर्शित करने के लिए, SUM() के चारों ओर FORMAT() फंक्शन लपेटें। यह वित्तीय रिपोर्ट, इनवॉइस, और डैशबोर्ड के लिए आदर्श है। उदाहरण: Amount कॉलम का योग और फॉर्मेट डेमो टेबल बनाएं: mysql> CREATE

  1. - MySQL: GROUP BY के साथ फील्ड कैसे अपडेट करें?

    समस्या MySQL सीधे UPDATE में GROUP BY का समर्थन नहीं करता। समाधान: ORDER BY LIMIT का उपयोग करें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2018 (EmployeeName, EmployeeSalary) VALUES (Chris, 25400); अपडेट क्वेरी Chris की पहली प्रविष्टि (EmployeeId के अनुसार) का वेतन बढ़ाएं: ORDER B