데이터베이스 작업 중, 한 테이블에서 다른 테이블로 특정 데이터만을 이전해야 하는 경우가 종종 있습니다. 이런 상황에서 SELECT와 INSERT를 조합하여 원하는 데이터만을 효율적으로 전송하는 방법을 알아보겠습니다. 1. 데이터 이전의 필요성 데이터 정제, 백업, 구조 변경 등 다양한 이유로 한 테이블의 데이터를 다른 테이블로 이전해야 할 때가 있습니다. 특히, 대용량의 데이터 중에서 특정 조건에 맞는 데이터만을 선택하여 이전하는 경우, 효율적인 방법이 필요합니다. 2. SELECT를 활용한 INSERT SELECT 구문을 사용하여 원하는 데이터를 추출한 후, 그 결과를 다른 테이블에 INSERT하는 방식을 사용합니다. 기본 구문은 다음과 같습니다: INSERT INTO target_table (col..
데이터베이스에서 필요 없어진 데이터나 특정 조건을 만족하는 데이터를 삭제하는 것은 자주 발생하는 작업입니다. 이를 위해 SQL의 DELETE 문과 WHERE 절을 활용하여 특정 조건에 맞는 데이터를 삭제할 수 있습니다. 본 글에서는 데이터 검색 결과를 다양한 상황에서 다중 데이터 삭제하는 방법을 다루어보겠습니다. 1. DELETE 기본적인 방법 SQL에서 데이터를 삭제하기 위한 기본 구문입니다. DELETE FROM 테이블명 WHERE 조건; 2. 특정 테이블의 검색 결과를 이용한 삭제 다른 테이블에서 검색한 결과를 기반으로 데이터를 삭제할 수 있습니다. DELETE FROM A WHERE A.idx = (SELECT idx FROM B WHERE B.name = '홍길동'); 위의 예제에서는 B 테이블..
데이터 입력 과정에서 연속적인 숫자를 입력하는 것은 반복적이고 정말 귀찮은 작업입니다. 이러한 작업을 간편하게 처리하기 위해 MYSQL의 기능을 활용하여 자동으로 연속적인 숫자를 업데이트하는 방법을 소개하겠습니다. 1. 변수 설정 @ADDNUM 변수를 0으로 초기화합니다. 이 변수는 업데이트되는 값의 기본이 될 것입니다. SELECT @ADDNUM:=0; 2. 업데이트 쿼리 실행 지정된 범위 내의 레코드에 대해 COLUMNNAME 값을 연속적으로 증가시키며 업데이트를 진행합니다. UPDATE TABLENAME SET COLUMNNAME = @ADDNUM:=@ADDNUM+1 WHERE index >= 0 AND index
데이터베이스를 다루면서 때로는 연속된 숫자 값을 사용해야 하는 경우가 있습니다. 이 글에서는 MySQL에서 1부터 1000까지 연속된 숫자를 한번에 데이터로 삽입하는 방법과, 1부터 100까지 증가하는 값을 얻는 쿼리문에 대해 소개하겠습니다. 1. 연속된 숫자 값을 얻는 방법 MySQL에서 dual을 이용해서 연속된 값을 획득하는 것이 가능합니다. 다음의 쿼리를 예로 들면: SELECT @N := @N +10 AS n from tables, (select @N:=-10 from DUAL ) NN LIMIT 16 하지만 이 쿼리의 문제는 tables의 행 길이가 원하는 수 만큼 존재하지 않으면, 그만큼의 값만 나옵니다. 예를 들어, tables의 행길이가 1개라면, 출력 결과는 0만 나옵니다. n 0 2...