কম্পিউটার টিউটোরিয়াল

MySQL에서 NULL 또는 비NULL 여부로 전체 컬럼 업데이트하기

WHERE 절에 IS NULL 또는 IS NOT NULL 조건을 걸면 NULL 여부에 따라 행을 선별 업데이트할 수 있습니다.

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable (
    -> Id INT,
    -> Name VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.58 sec)
mysql> INSERT INTO DemoTable VALUES(10,NULL);
Query OK, 1 row affected (0.32 sec)
mysql> INSERT INTO DemoTable VALUES(NULL,'David');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES(NULL,NULL);
Query OK, 1 row affected (0.15 sec)

업데이트 전

mysql> SELECT * FROM DemoTable;
+------+-------+
| Id   | Name  |
+------+-------+
|   10 | NULL  |
| NULL | David |
| NULL | NULL  |
+------+-------+
3 rows in set (0.00 sec)

Id 또는 Name이 NULL인 행 모두 Name='Robert'로 업데이트

mysql> UPDATE DemoTable SET Name='Robert' WHERE Id IS NULL OR Name IS NULL;
Query OK, 3 rows affected (0.22 sec)
Rows matched: 3  Changed: 3  Warnings: 0

업데이트 후

mysql> SELECT * FROM DemoTable;
+------+--------+
| Id   | Name   |
+------+--------+
|   10 | Robert |
| NULL | Robert |
| NULL | Robert |
+------+--------+
3 rows in set (0.00 sec)

팁: COALESCE(컬럼1, 컬럼2, ...)는 첫 번째 비NULL 값을 반환합니다. UPDATE ... SET Col = COALESCE(Col, '기본값')로 NULL만 치환도 가능합니다.

  1. Java MySQL ব্যবহার করে MySQL টেবিল আপডেট করা

  2. MySQL-এ একক INSERT কুয়েরিতে কমা দিয়ে একাধিক সারি ইনসার্ট করা

  3. MySQL-এ EXTRACT() দিয়ে মাস অনুযায়ী মান যোগফল করা

  4. MySQL-এ NULL এবং NON-NULL মান সহ গাণিতিক গণনা করা