create view 안산고객(성명, 전화번호)
as select 성명, 전화번호
from 고객
where 주소 = '안산시';
🤞CREATE INDEX
👉 CREATE INDEX는 인덱스를 정의하는 명령문이다.
👉사용형식
create [unique] index 인덱스명
on 테이블명(속성명 [asc | desc] [,속성명 [asc | desc]])
[cluster];
🤜 unique
✊ 사용된 경우 : 중복 값이 없는 속성으로 인덱스를 생성
✊ 생략된 경우 : 중복 값을 허용하는 속성으로 인덱스를 생성
🤜 정렬 여부 지정
✊ ASC : 오름차순 정렬
✊ DESC : 내림차순 정렬
✊ 생략된 경우 : 오름차순으로 정렬
🤜 cluster : 사용하면 인덱스가 클러스터드 인덱스로 설정됨
👉 예제 :<고객> 테이블에서 unique한 특성을 갖는 '고객번호' 속성에 대해 내림차순으로 정렬하여 '고객번호_idx'라는 이름으로 인덱스를 정의하기
create unique index 고객번호_idx
on 고객(고객번호 desc);
🤞 ALTER TABLE
👉 ALTER TABLE은 테이블에 대한 정의를 변경하는 명령문
👉사용형식
alter table 테이블명 add 속성명 데이터_타입 [default '기본값'];
alter table 테이블명 alter 속성명 [set default '기본값'];
alter table 테이블명 drop column 속성명 [cascade];
🤜 add : 새로운 속성(열)을 추가할 때 사용한다.
🤜 alter : 특정 속성의 default 값을 변경할 때 사용한다.
🤜 drop column : 특정 속성을 삭제할 때 사용한다.
👉 예제1 : <학생> 테이블에 최대 3문자로 구성되는 '학년' 속성 추가하기
alter table 학생 add 학년 varchar(3);
👉 예제2 : <학생> 테이블의 '학번' 필드의 데이터 타입과 크기를 varchar(10)으로 하고 null 값이 입력되지 않도록 변경하기
alter table 학생 alter 학번 varchar(10) not null;
🤞 DROP
👉 DROP은 스키마, 도메인, 기본 테이블, 뷰 테이블, 인덱스, 제약 조건 등을 제거하는 명령문
👉사용형식
drop schema 스키마명 [cascade | restrict];
drop domain 도메인명명 [cascade | restrict];
drop table 테이블명 [cascade | restrict];
drop view 뷰명 [cascade | restrict];
drop index 인덱스명 [cascade | restrict];
drop constraint 제약조건명;
🤜 cascade : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거
🤜 restrict : 다른 개체가 제거할 요소를 참조중일 때는 제거를 취소
👉 예제 : <학생> 테이블을 제거하되 <학생> 테이블을 참조하는 모든 데이터를 함께 제거