테이블 속성 변경
/* 문법 */ ALTER TABLE table_name ADD column_definition ALTER TABLE table_name DROP (column_name) ALTER TABLE table_name MODIFY column_definition ALTER TABLE table_name ADD CONSTRAINT constraint_defenition ALTER TABLE table_name DROP CONSTRAINT constraint_name /* 파라미터 */ table_name -- 테이블 이름 column_definition -- 열 정의 constraint_definition -- 제약 정의 constraint_name -- 제약 이름 | cs |
『ALTER TABLE』을 사용하면, 기존의 테이블에 열을 추가, 삭제하거나 기본키를 설정할 수 있다.
어디까지나 테이블 속성을 변경하는 것이기 때문에 테이블이 존재해야 한다는 것이 첫번째
전제 조건이다.
테이블에 열을 추가하기 위해서는 ALTER TABLE의 ADD를 사용한다. 열 c를 테이블 foo에 수치형으로
추가하기 위해서는 다음과 같이 실행한다. c열의 내용은 모두 NULL이 된다.
/* 사용 예 */ ALTER TABLE foo ADD c NUMBER | cs |
열을 삭제하기 위해서는 『DROP』을 사용한다. Oracle에서는 DROP 다음에 괄호를 사용하는데,
그 괄호 안에 열 이름을 기술한다. SQL Server와 Access에서는 『DROP COLUMN 열 이름』과 같이
실행한다.
Oracle의 DROP에 의한 열의 삭제는 Oracle 8i 부터 지원되는 기능이다.
/* 사용 예 */ ALTER TABLE foo DROP (c) ALTER TABLE foo DROP COLUMN C | cs |
Oracle에서는 열의 속성을 변경할 수 있다. 단, 변경할 열의 모든 행의 값은 NULL값이어야 한다.
열의 속성을 변경하기 위해서 『MODIFY』를 사용한다. MODIFY 다음에 열 정의를 기술한다.
SQL Server와 Access에서는 열의 속성을 변경할 수 없다.
/* 사용 예 */ ALTER TABLE foo MODIFY c VARCHAR2 (30) | cs |
/* 사용 예 */ ALTER TABLE foo ADD CONSTRAINT pkey PRIMARY KEY (a,b) | cs |
외부키를 생성하기 위해서 『CONSTRAINT』를 사용하여 외부키 제약을 테이블에 추가한다.
외부키에서는 참조할 외부의 테이블 이름과 열 이름을 『REFERENCES』로 지정한다.
REFERENCES에 지정할 열은 그 테이블의 기본키여야 한다.
/* 사용 예 */ ALTER TABLE foo ADD CONSTRAINT fkey FOREIGN KEY (a) REFERENCES bar (b) | cs |
/* 사용 예 */ ALTER TABLE foo DROP CONSTRAINT pkey |
◐ DB(Database)의 특징
- 실시간 접근성(Real-time accessibility)
- 사용자의 요구에 대한 즉각적인 응답(Response)
- 계속적인 변화(Continuous evolution)
- 삽입, 삭제, 변경 작업이 수시로 발생
- 동시 공용(Concurrent sharing)
- 여러 사용자가 동시에 자기가 원하는 데이터에 접근 가능
- 내용에 의한 참조(Content reference)
- 물리적 주소가 아닌, 데이터에 대한 조건으로 원하는 결과를 검출
'커맨드 명령' 카테고리의 다른 글
2.3.5 CREATE INDEX (0) | 2018.11.10 |
---|---|
2.3.4 TRUNCATE TABLE (0) | 2018.11.10 |
2.3.2 DROP TABLE (0) | 2018.11.10 |
2.3.1 CREATE TABLE (0) | 2018.11.10 |
2.3 데이터 정의 언어(DDL) (0) | 2018.11.09 |