7.데이터수정

951 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
951
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

7.데이터수정

  1. 1. 7 장 . 데이터 수정 MS-SQL 2000 전문가로 가는 지름길 1 권 SQL Study(café.naver.com/endofdb) 김광중 (visualwizard@ncsoft.com)
  2. 2. 목차 1. INSERT 2. DELETE 3. UPDATE
  3. 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. 4. INSERT 구문 1. INSERT INSERT INTO table_name ( column_name ) VALUES ( column_value ) 하나의 INSERT 문으로는 하나의 레코드 만 입력 할 수 있다 .!
  5. 5. IDENTITY 와 DEFAULT 제약조건 1. INSERT IDENTITY : 레코드가 입력될 때 , 컬럼의 값은 seed 부터 시작 하며 , 새로운 레코드가 추가될 시에는 increment 만큼 증가된 값 이 적용된다 .
  6. 6. 1. INSERT
  7. 7. SET IDENTITY_INSERT {ON | OFF} 1. INSERT IDENTITY 가 지정된 컬럼 에 임의의 값을 수동 으로 넣으려고 할 때 사용 .
  8. 8. SET IDENTITY_INSERT {ON | OFF} 1. INSERT
  9. 9. SET IDENTITY_INSERT {ON | OFF} 1. INSERT
  10. 10. SET IDENTITY_INSERT {ON | OFF} 1. INSERT
  11. 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
  12. 12. SET IDENTITY_INSERT {ON | OFF} 1. INSERT
  13. 13. TIMESTAMP 1. INSERT 일반적으로 timestamp 는 버전이 표시되는 테이블 행 에 대한 메커니즘으로 사용됩니다 . 저장소 크기는 8 바이트 (VARBINARY(8)) 입니다 . timestamp 데이터 형식은 자동으로 증가하는 숫자일 뿐 이며 날짜 또는 시간을 보존하지 않습니다 현재의 timestamp 값 얻기 : @@DBTS
  14. 14. TIMESTAMP 1. INSERT UPDATE t1 SET city = ' 일본 ' WHERE id = 1
  15. 15. DEFAULT values 1. INSERT CREATE TABLE tblDef ( id int IDENTITY PRIMARY KEY, TIMESTAMP, inputday DATETIME NOT NULL DEFAULT getdate(), photo image NULL )
  16. 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. 17. <ul><li>여러 개의 레코드를 입력하는 방법 </li></ul><ul><li>DTS </li></ul><ul><li>CVS 파일에서 데이터 가져오기 </li></ul><ul><li>DTS( 데이터 변환 서비스 ) 는 SQL Server Integration Services 로 대체 </li></ul><ul><li>BULK INSERT </li></ul><ul><li>데이터 파일을 사용자가 지정한 형식으로 데이터베이스 테이블이나 뷰로 가 져옵니다 </li></ul>1. INSERT
  18. 18. DELETE 구문 2. DELETE DELETE [FROM] table_name WHERE … DELETE 구문은 반드시 WHERE 절과 함께 사용 .! BEGIN TRAN query… ROLLBACK / COMMIT
  19. 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. 20. UPDATE 구문 3. UPDATE UPDATE table_name SET column_name = value , column_name = value WHERE …
  21. 21. UPDATE 구문 3. UPDATE UPDATE target SET tValue = tValue + sValue FROM target JOIN source ON ( tid = sid )
  22. 22. UPDATE 구문 3. UPDATE UPDATE target SET tValue = tValue + sValue FROM target , source WHERE tid = sid
  23. 23. UPDATE 구문 3. UPDATE 하위 쿼리 - 상위 쿼리에 영향을 받지 않고 자체적으로 실행되는 쿼리 , 결과값을 상위 쿼리에서 사용한다 상관 하위 쿼리 - 하위 쿼리가 외부 쿼리에 영향을 받음 . 즉 , 하위 쿼리는 외부 쿼리에서 선택될 수 있는 각 행에 대해 한 번씩 반복적으로 실행 .
  24. 24. UPDATE 구문 3. UPDATE 하위 쿼리 UPDATE target SET tValue = tValue + ( SELECT sum(sValue) FROM source JOIN target ON tid = sid )
  25. 25. UPDATE 구문 3. UPDATE 상관 하위 쿼리 UPDATE target SET tValue = tValue + ( SELECT sum(sValue) FROM source WHERE sid = target.tid )

×