MySQL에서 전체 행을 업데이트하려면 UPDATE 명령을 사용하십시오. 기본 키 열을 알아야 합니다. 전체 행을 업데이트하는 구문은 다음과 같습니다.
UPDATE yourTableName SET yourColumnName1 = ’yourValue1’ ,yourColumnName2 = ’yourValue2’ , yourColumnName3 = ’yourValue3’ ,.......................N WHERE yourPrimaryKeyColumnName = yourValue;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table UpdateEntireRowDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Marks int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.74 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Sam',23,78); Query OK, 1 row affected (0.32 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Mike',21,99); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Carol',26,80); Query OK, 1 row affected (0.11 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('John',22,71); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Bob',29,89); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('David',25,68); Query OK, 1 row affected (0.20 sec) mysql> insert into UpdateEntireRowDemo(Name,Age,Marks) values('Larry',31,91); Query OK, 1 row affected (0.12 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from UpdateEntireRowDemo;
다음은 출력입니다 -
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 1 | Sam | 23 | 78 | | 2 | Mike | 21 | 99 | | 3 | Carol | 26 | 80 | | 4 | John | 22 | 71 | | 5 | Bob | 29 | 89 | | 6 | David | 25 | 68 | | 7 | Larry | 31 | 91 | +----+-------+------+-------+ 7 rows in set (0.00 sec)
다음은 MySQL에서 전체 행을 업데이트하는 쿼리입니다. 여기서는 ID가 5인 행을 업데이트하겠습니다.
쿼리는 다음과 같습니다 -
mysql> update UpdateEntireRowDemo -> set Name = 'James',Age = 19,Marks = 78 -> where Id = 5; Query OK, 1 row affected (0.12 sec) Rows matched: 1 Changed: 1 Warnings: 0
이제 전체 행이 업데이트되었는지 확인할 수 있습니다. 쿼리는 다음과 같습니다 -
mysql> select *from UpdateEntireRowDemo where Id = 5;
다음은 출력입니다 -
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 5 | James | 19 | 78 | +----+-------+------+-------+ 1 row in set (0.00 sec)
테이블의 모든 레코드를 살펴보겠습니다.
mysql> select *from UpdateEntireRowDemo;
출력은 전체 행이 성공적으로 업데이트되었음을 표시합니다.
+----+-------+------+-------+ | Id | Name | Age | Marks | +----+-------+------+-------+ | 1 | Sam | 23 | 78 | | 2 | Mike | 21 | 99 | | 3 | Carol | 26 | 80 | | 4 | John | 22 | 71 | | 5 | James | 19 | 78 | | 6 | David | 25 | 68 | | 7 | Larry | 31 | 91 | +----+-------+------+-------+ 7 rows in set (0.00 sec)