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

MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

INSERT INTO ... SELECT ... WHERE 컬럼 IS NOT NULL로 NULL이 아닌 행만 골라 다른 테이블에 삽입할 수 있습니다.

소스 테이블 생성 및 데이터

mysql> CREATE TABLE DemoTable1 (DueDate DATE);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1 VALUES('2019-09-10');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1 VALUES(NULL);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1 VALUES('2019-11-10');
Query OK, 1 row affected (0.00 sec)

소스 데이터

mysql> SELECT * FROM DemoTable1;
+------------+
| DueDate    |
+------------+
| 2019-09-10 |
| NULL       |
| 2019-11-10 |
+------------+
3 rows in set (0.00 sec)

대상 테이블 생성

mysql> CREATE TABLE DemoTable2 (AdmissionDate DATE);
Query OK, 0 rows affected (0.00 sec)

NULL 제외 복사

mysql> INSERT INTO DemoTable2(AdmissionDate)
    -> SELECT DueDate FROM DemoTable1 WHERE DueDate IS NOT NULL;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

대상 테이블 확인

mysql> SELECT * FROM DemoTable2;
+---------------+
| AdmissionDate |
+---------------+
| 2019-09-10    |
| 2019-11-10    |
+---------------+
2 rows in set (0.00 sec)

핵심: WHERE DueDate IS NOT NULL로 NULL 행 제외. INSERT INTO ... SELECT는 컬럼 순서/타입 일치 필요. 대용량이면 CREATE TABLE DemoTable2 AS SELECT ...가 더 빠름(인덱스/제약은 별도 생성 필요).

  1. MySQL-এ DATE_FORMAT দিয়ে তারিখ কলাম থেকে মাসের নাম এবং বছর দেখানো

  2. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  3. MySQL-এ কমা-সেপারেটেড কলাম থেকে নির্দিষ্ট মান খোঁজা (FIND_IN_SET)

  4. MySQL-এ ডুপ্লিকেট কলাম ভ্যালু অনুযায়ী অন্য কলামের যোগফল (SUM + GROUP BY)