Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 이메일 주소를 조건으로 열(컬럼) 값을 업데이트하는 방법

MySQL에서 특정 이메일 주소를 가진 행의 값을 수정하려면 UPDATE 문과 WHERE 절을 함께 사용하면 됩니다. WHERE 절에 이메일 주소를 조건으로 지정하면 해당 행만 정확하게 업데이트할 수 있습니다. 아래에서 단계별로 예제와 함께 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다. 이메일 주소를 저장할 EmailAddress 컬럼과 점수를 저장할 Score 컬럼으로 구성된 테이블입니다.

mysql> create table DemoTable
    -> (
    -> EmailAddress varchar(20),
    -> Score int
    -> );
Query OK, 0 rows affected (1.05 sec)

2. 샘플 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values('Chris@gmail.com',67);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Robert@gmail.com',57);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David@gmail.com',98);
Query OK, 1 row affected (0.14 sec)

3. 현재 데이터 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+------------------+-------+
| EmailAddress     | Score |
+------------------+-------+
| Chris@gmail.com  |    67 |
| Robert@gmail.com |    57 |
| David@gmail.com  |    98 |
+------------------+-------+
3 rows in set (0.00 sec)

4. 이메일 주소를 조건으로 값 업데이트하기

이제 핵심인 UPDATE 쿼리입니다. WHERE 절에서 이메일 주소가 'Robert@gmail.com'인 행을 찾아 해당 행의 Score 값을 89로 변경합니다.

mysql> update DemoTable
    -> set Score=89
    -> where EmailAddress='Robert@gmail.com';
Query OK, 1 row affected (0.25 sec)
Rows matched: 1 Changed: 1 Warnings: 0

쿼리 실행 결과 메시지를 보면 Rows matched: 1, Changed: 1로 표시되는데, 이는 조건에 일치하는 1개의 행을 찾았고 실제로 1개의 행이 변경되었음을 의미합니다.

5. 업데이트 결과 확인하기

다시 SELECT 문으로 테이블을 조회하여 변경 사항이 제대로 적용되었는지 확인합니다.

mysql> select *from DemoTable;

결과를 보면 Robert@gmail.com의 Score가 57에서 89로 성공적으로 변경된 것을 확인할 수 있습니다.

+------------------+-------+
| EmailAddress     | Score |
+------------------+-------+
| Chris@gmail.com  |    67 |
| Robert@gmail.com |    89 |
| David@gmail.com  |    98 |
+------------------+-------+
3 rows in set (0.00 sec)

주의사항 및 팁


  • WHERE 절은 반드시 작성하세요. WHERE 절 없이 UPDATE 문을 실행하면 테이블의 모든 행이 한꺼번에 변경되므로 각별히 주의해야 합니다.
  • 이메일 주소의 고유성을 보장하세요. 동일한 이메일 주소가 여러 행에 존재하면 해당하는 모든 행이 함께 업데이트됩니다. 필요하다면 이메일 컬럼에 UNIQUE 제약조건을 추가하는 것이 좋습니다.
  • 대소문자 구분에 유의하세요. MySQL의 기본 collation 설정에 따라 문자열 비교 시 대소문자가 구분되지 않을 수 있으므로, 환경 설정을 미리 확인하는 것이 안전합니다.
  • 중요한 데이터를 수정하기 전에는 백업을 권장합니다. 실수로 잘못된 데이터를 덮어쓰는 것을 방지할 수 있습니다.