3. DDL ( Data Definition Language ) : TABLE, VIEW, INDEX 등등 을 정의하거나 변경 또는 삭제 할 때 사용함 . – CREATE, DROP, ALTER DML ( Data Manufaction Language ) : 저장된 데이터를 실제로 처리하는데 사용 . - SELECT , INSERT , DELETE , UPDATE DCL ( Data Control Language) : 데이터의 보안 , 무결성 등 데이터의 관리를 목적으로 사용 – GRANT , REVOKE 1. INSERT
4. INSERT 구문 1. INSERT INSERT INTO table_name ( column_name ) VALUES ( column_value ) 하나의 INSERT 문으로는 하나의 레코드 만 입력 할 수 있다 .!
5. IDENTITY 와 DEFAULT 제약조건 1. INSERT IDENTITY : 레코드가 입력될 때 , 컬럼의 값은 seed 부터 시작 하며 , 새로운 레코드가 추가될 시에는 increment 만큼 증가된 값 이 적용된다 .
11. SET IDENTITY_INSERT {ON | OFF} 1. INSERT SET IDENTITY_INSERT table_name ON INSERT INTO mytest ( id, value ) VALUES ( 3, 31 ) SET IDENTITY_INSERT table_name OFF
13. TIMESTAMP 1. INSERT 일반적으로 timestamp 는 버전이 표시되는 테이블 행 에 대한 메커니즘으로 사용됩니다 . 저장소 크기는 8 바이트 (VARBINARY(8)) 입니다 . timestamp 데이터 형식은 자동으로 증가하는 숫자일 뿐 이며 날짜 또는 시간을 보존하지 않습니다 현재의 timestamp 값 얻기 : @@DBTS
15. DEFAULT values 1. INSERT CREATE TABLE tblDef ( id int IDENTITY PRIMARY KEY, TIMESTAMP, inputday DATETIME NOT NULL DEFAULT getdate(), photo image NULL )
16. INSERT .. SELECT 와 SELECT .. INTO 1. INSERT SELECT .. INTO 구문은 넣으려고 하는 개체 ( 테이블 ) 이 이미 존재하면 사용할 수 없다 . 이미 개체 ( 테이블 ) 가 존재 한다면 INSERT .. SELECT 구문을 사용 한다 . INSERT desc_table_name SELECT source_column_name FROM source_table_name values 대신에 select 구문이 들어간 것 .
17. 여러 개의 레코드를 입력하는 방법 DTS CVS 파일에서 데이터 가져오기 DTS( 데이터 변환 서비스 ) 는 SQL Server Integration Services 로 대체 BULK INSERT 데이터 파일을 사용자가 지정한 형식으로 데이터베이스 테이블이나 뷰로 가 져옵니다 1. INSERT
18. DELETE 구문 2. DELETE DELETE [FROM] table_name WHERE … DELETE 구문은 반드시 WHERE 절과 함께 사용 .! BEGIN TRAN query… ROLLBACK / COMMIT
19. DELETE 구문 2. DELETE DELETE table_name WHERE column IN ( SELECT … ) DELETE table_name FROM t1 JOIN t2 ON t1.id = t2.id ANSI SQL T-SQL
20. UPDATE 구문 3. UPDATE UPDATE table_name SET column_name = value , column_name = value WHERE …
21. UPDATE 구문 3. UPDATE UPDATE target SET tValue = tValue + sValue FROM target JOIN source ON ( tid = sid )
22. UPDATE 구문 3. UPDATE UPDATE target SET tValue = tValue + sValue FROM target , source WHERE tid = sid
23. UPDATE 구문 3. UPDATE 하위 쿼리 - 상위 쿼리에 영향을 받지 않고 자체적으로 실행되는 쿼리 , 결과값을 상위 쿼리에서 사용한다 상관 하위 쿼리 - 하위 쿼리가 외부 쿼리에 영향을 받음 . 즉 , 하위 쿼리는 외부 쿼리에서 선택될 수 있는 각 행에 대해 한 번씩 반복적으로 실행 .
24. UPDATE 구문 3. UPDATE 하위 쿼리 UPDATE target SET tValue = tValue + ( SELECT sum(sValue) FROM source JOIN target ON tid = sid )
25. UPDATE 구문 3. UPDATE 상관 하위 쿼리 UPDATE target SET tValue = tValue + ( SELECT sum(sValue) FROM source WHERE sid = target.tid )