복붙노트

[SQL] 두 개의 열을 결합하여 새로운 컬럼에 추가 MYSQL

SQL

두 개의 열을 결합하여 새로운 컬럼에 추가 MYSQL

나는 MySQL의 테이블의 구조는 다음과 같습니다

+----------------+----------------+----------+
|    zipcode     |      city      |   state  |
+----------------+----------------+----------+
|     10954      |     Nanuet     |    NY    |
+----------------+----------------+----------+

이 같은 하나 개의 칼럼에 위의 3 열을 결합하려는 :

+---------------------+
|      combined       |
+---------------------+
| 10954 - Nanuet, NY  |
+---------------------+

그리고 나는 원래 3 개 필드를 파괴하지 않고 테이블의 끝이 "결합"열을 추가 할 수 있습니다.

해결법

  1. ==============================

    1.열을 만듭니다

    열을 만듭니다

    ALTER TABLE yourtable ADD COLUMN combined VARCHAR(50);
    

    현재 값을 업데이트 :

    UPDATE yourtable SET combined = CONCAT(zipcode, ' - ', city, ', ', state);
    

    자동으로 모든 미래의 값을 업데이트합니다 :

    CREATE TRIGGER insert_trigger
    BEFORE INSERT ON yourtable
    FOR EACH ROW
    SET new.combined = CONCAT(new.zipcode, ' - ', new.city, ', ', new.state);
    
    CREATE TRIGGER update_trigger
    BEFORE UPDATE ON yourtable
    FOR EACH ROW
    SET new.combined = CONCAT(new.zipcode, ' - ', new.city, ', ', new.state);
    
  2. ==============================

    2.당신은이 작업을 수행 하시겠습니까? 본질적으로, 당신은 세 원래의 컬럼에있는 데이터를 복제하고 있습니다. 그 시점에서, 당신은 결합 필드의 데이터는 처음 세 열의 데이터를 일치하는지 확인해야합니다. 이 응용 프로그램에 대한 더 많은 오버 헤드 및 시스템의 관계를 이해해야합니다 업데이트하는 것이 다른 프로세스입니다.

    당신은이 작업을 수행 하시겠습니까? 본질적으로, 당신은 세 원래의 컬럼에있는 데이터를 복제하고 있습니다. 그 시점에서, 당신은 결합 필드의 데이터는 처음 세 열의 데이터를 일치하는지 확인해야합니다. 이 응용 프로그램에 대한 더 많은 오버 헤드 및 시스템의 관계를 이해해야합니다 업데이트하는 것이 다른 프로세스입니다.

    당신이 데이터를 필요한 경우 당신이 그것을 필요로 할 때, 왜에서 선택하지? 해당 필드에있을 것입니다 무엇을 선택하는 SQL은 다음과 같습니다

    SELECT CONCAT(zipcode, ' - ', city, ', ', state) FROM Table;
    

    이 방법으로, 필드의 데이터가 변경, 당신은 당신의 결합 필드를 업데이트 할 수없는 경우.

  3. ==============================

    3.테이블에 새 열을 추가하고 쿼리를 수행 :

    테이블에 새 열을 추가하고 쿼리를 수행 :

    UPDATE tbl SET combined = CONCAT(zipcode, ' - ', city, ', ', state)
    
  4. ==============================

    4.SELECT CONCAT (우편 번호, '-'도시 ','상태) 테이블에서 AS COMBINED

    SELECT CONCAT (우편 번호, '-'도시 ','상태) 테이블에서 AS COMBINED

  5. from https://stackoverflow.com/questions/5774532/mysql-combine-two-columns-and-add-into-a-new-column by cc-by-sa and MIT license