UPDATE 명령을 사용하여 MySQL의 각 행에 값을 추가할 수 있습니다.
열이 정수인 경우를 살펴보겠습니다. 구문은 다음과 같습니다.
UPDATE yourTableName SET yourIntegerColumnName = yourIntegerColumnName+anyValue; UPDATE yourTableName SET yourIntegerColumnName = anyValue WHERE yourIntegerColumnName IS NULL;
날짜 열 이름에 값을 추가할 수 있습니다. 구문은 다음과 같습니다.
UPDATE yourTableName SET yourDateColumnName = DATEADD(yourDateColumnName,INTERVAL anyIntegerMonth)
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table addEachRowValue -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Amount int, -> ShippingDate date, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.50 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다.
mysql> insert into addEachRowValue(Amount,ShippingDate) values(100,'2019-02-21'); Query OK, 1 row affected (0.15 sec) mysql> insert into addEachRowValue(Amount,ShippingDate) values(10,'2013-04-22'); Query OK, 1 row affected (0.19 sec) mysql> insert into addEachRowValue(Amount,ShippingDate) values(110,'2015-10-25'); Query OK, 1 row affected (0.15 sec) mysql> insert into addEachRowValue(Amount,ShippingDate) values(150,'2016-03-27'); Query OK, 1 row affected (0.29 sec) mysql> insert into addEachRowValue(Amount,ShippingDate) values(190,'2018-12-29'); Query OK, 1 row affected (0.20 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> select *from addEachRowValue;
다음은 출력입니다.
+----+--------+--------------+ | Id | Amount | ShippingDate | +----+--------+--------------+ | 1 | 100 | 2019-02-21 | | 2 | 10 | 2013-04-22 | | 3 | 110 | 2015-10-25 | | 4 | 150 | 2016-03-27 | | 5 | 190 | 2018-12-29 | +----+--------+--------------+ 5 rows in set (0.00 sec)
다음은 정수 유형인 Amount 열의 각 행에 값을 추가하는 쿼리입니다.
mysql> update addEachRowValue -> set Amount=Amount+20; Query OK, 5 rows affected (0.85 sec) Rows matched: 5 Changed: 5 Warnings: 0
이제 Amount 열의 모든 업데이트된 값을 확인할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> select Amount from addEachRowValue;
다음은 출력입니다.
+--------+ | Amount | +--------+ | 120 | | 30 | | 130 | | 170 | | 210 | +--------+ 5 rows in set (0.00 sec)
다음은 날짜 열에 값을 추가하는 쿼리입니다.
mysql> update addEachRowValue -> set ShippingDate=adddate(ShippingDate,interval 1 month); Query OK, 5 rows affected (0.31 sec) Rows matched: 5 Changed: 5 Warnings: 0
이제 테이블에서 날짜 열의 모든 업데이트된 값을 확인할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> select ShippingDate from addEachRowValue;
다음은 출력입니다.
+--------------+ | ShippingDate | +--------------+ | 2019-03-21 | | 2013-05-22 | | 2015-11-25 | | 2016-04-27 | | 2019-01-29 | +--------------+ 5 rows in set (0.00 sec)