Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

첫 번째 테이블의 값으로 두 번째 테이블의 값을 추가하여 MySQL 데이터베이스 테이블의 필드를 업데이트하려면 어떻게 해야 합니까?

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1
   (
   value int
   );
Query OK, 0 rows affected (0.59 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1 values(10);
Query OK, 1 row affected (0.17 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable1;

출력

+-------+
| value |
+-------+
| 10 |
+-------+
1 row in set (0.00 sec)

다음은 두 번째 테이블을 생성하는 쿼리입니다 -

mysql> create table DemoTable2
   (
   value1 int
   );
Query OK, 0 rows affected (0.62 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable2 values(50);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable2 values(100);
Query OK, 1 row affected (0.13 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable2;

출력

+--------+
| value1 |
+--------+
| 50     |
| 100    |
+--------+
2 rows in set (0.00 sec)

이제 첫 번째 테이블의 값을 두 번째 테이블의 단일 값에 추가하여 MySQL 데이터베이스 테이블의 필드를 업데이트합니다. -

mysql> set @myValue=(select value from DemoTable1);
Query OK, 0 rows affected (0.00 sec)
mysql> update DemoTable2 set value1=value1+@myValue;
Query OK, 2 rows affected (0.11 sec)
Rows matched: 2 Changed: 2 Warnings: 0

다시 한번 테이블 기록을 확인해보자 -

mysql> select *from DemoTable2;

출력

+--------+
| value1 |
+--------+
| 60     |
| 110    |
+--------+
2 rows in set (0.00 sec)