반응형
블로그 이미지
취미생활 추천받아여~       게임이든, 여가생활이든 :D

카테고리

분류 전체보기 (615)
☆잡동사니 (501)
☆코딩개발 (76)
☆영어공부 (38)
★★★★★★ (0)
Total
Today
Yesterday


반응형

DBMS의 DML 구문에 대해 포스팅을 한적이 있는데 select, insert, update, delete 문들이 DML문에 속하죠.

 

가장 기본이 되는 명령어로 테이블에

행을 추가하는 SQL Insert 구문의 다양한 방법에 대해 다뤄볼까 합니다.

 

다음은 mssql 백서에 나오는 구문입니다.

 

 

 

 

 

 

뭔가 상당히 복잡합니다. 솔직히 이렇게 복잡하게는 잘 쓰지 않죠. 우리가 쓰는 방법은 이런 형태를 많이 사용합니다. 위에 구문 중 대괄호"[ ]"는 써도 되고 안써도 된다는 표현입니다.

 

database에서는 행을 추가,수정,삭제등의 변경이 있을 시 변경 행을 배타적잠금(x-lock)을 겁니다. ( dbms마다 잠금의 범위가 다를수 있어요) 범위가 넓다면 테이블까지 확장해서 x-lock 이 걸리죠. 그럴때는 다른 쓰기 작업이 침범할 수 없어 x-lock 이 풀릴때까지 대기하고 있는겁니다. 읽기 작업도 마찬가지이긴 한데 대신 옵션에 따라 읽기는 x-lock 이 걸려도 읽고 지나갈 수 있습니다. 나중에 잠금에 대해 다시 다뤄보기로 하고 데이터가 입력되는 sql insert 문에 대해 다양하게 보겠습니다.

 


1. SQL insert into ( ) values ( ) 문 ( 기본 )

 

가장 기본적으로 행 하나씩 추가합니다.

insert into ( ) 안에는 필드명이 들어가며 values ( ) 안에는 값들이 들어가는데 둘의 갯수가 같아야 합니다.

 

 

필드가 identity, defatult, not null 인 경우로 각각 표현해 봤으니 참조하시면 됩니다.

특히 identity 필드는 자동으로 값을 셋팅하므로 옵션을 지정하지 않으면

values 값에 해당 값을 넣으시면 안됩니다.

 

 

2. SQL insert select 문

 

원본이 집합 테이블 형태로 구성된 하나 이상의 데이터를 한번에 넣을때 사용하며

into ( ) 안에 필드와 select 필드의 갯수가 같아야 합니다.

 

 

 

 

 

 

 

3. SQL select into 문

 

하나의 데이터셋을 그대로 복사합니다. CREATE TABLE 로 만들지 않고 그대로 복제 할때 사용합니다. create 문을 안만들어도 되고 이미 기존에  테이블이 없어도 필드를 원본 컬럼에 맞게 생성하는데 임시로 테이블 백업할 때 유용합니다. 테이블 대량 변경이 있을 시 select into 로 잠시 백업시키는것도 방법입니다.

 

 

 

 

 

 

 

4. values 키워드 뒤에 여러행 지정

 

MS SQL 2008 에서는 보다 values 단일이 아닌 여러행까지 확장을 해 놓았는데 values 키워드 뒤에 하나 이상의 행의 셋들을 지원합니다. 최대 1000개까지 가능하다고 하네요.

 

 

 

 

 

 

5. Top 키워드 사용하여 추가되는 행 수 제한

 

Top (n) 키워드를 이용하면 추가할때 행의 수를 Top 다음의 n 수만큼 제한할 수 있습니다

SQL Insert Select 의 경우는 Insert 구문에 넣거나 Select 구문에 넣어도 같은 값을 얻을 수 있습니다.

 

 

 

 

 

 

SQL Insert 구문에 대해 다양한 방법을 소개했는데요.

가장 기본이 되는 키워드 인 만큼 입력방식에 대해 의미를 잘 파악하셔야 합니다.

 

 

감사합니다.

 

출처 네이버블로그 지구관리대원님

반응형
Posted by 과라나
, |

최근에 올라온 글

04-29 06:41

글 보관함