데이터베이스 객체 테이블 뷰 인덱스 등 DB에서 정의하는 모든 것
기존 이름과 예약어 불가 / 숫자 시작X / 언더스코어_ 이외의 기호 사용 불가
한글은 더블쿼트(mysql백쿼트)로 둘러싼다 / 시스템 허용길이 준수
스키마라는 그릇에 담기므로 객체 이름이 같아도 스키마가 다르면 허용
mysql에서는 데이터베이스가 스키마
oracle에서는 데이터베이스와 데이터베이스 사용자가 계층적 스키마
이름이 충돌하지 않도록 기능하는 그릇(스키마나 테이블)을 네임스페이스
select, insert, delete, update 는 dml
테이블 생성
create table sample62 (
no integer not null,
a varchar(30),
b date);
테이블 삭제 drop table
테이블 유지 데이터만 삭제할시 truncate table 테이블명
테이블 변경
alter table 테이블명 변경명령
alter table sample62 add newcol integer; 열 추가
alter table sample62 modify newcol varchar(20); 열 속성 변경
alter table sample62 change newcol c; 열 이름 변경
alter table sample62 drop c; 열 삭제하기
제약
create table sample631(
no integer not null, 널이 아니도록 제약
sub_no integer not null,
name varchar(30) unique, 유일한 값이도록 제약
primary key(no, sub_no) 기본키가 되도록(유일) 제약
//constraint pkey_sample primary key(no, sub_no) 제약에 이름짓기 contraint
);
제약 추가하기 제거하기
alter table sample631 modify c varchar(30) not null; 널이 아니도록 제약 추가
alter table sample631 modify c varchar(30); 널 제약 제거
alter table sample631 add constraint pkey_sample631 primary key(a); 기본키 추가
alter table sample631 drop constraint pkey_sample631; 기본키 제거
alter table sample631 drop primary key; 기본키 제거
복수의 열로 기본키 구성하기 a와 b가 둘다 동일하지 않으면 다름
인덱스 이진트리로 검색(항목 하부선택지3 좌:작다 중:같다 우:크다) 띄엄띄엄검색
create index isample65 on sample62(no); (여러 개의 열 지정 가능) 인덱스 생성
drop index isample65 on sample62; 인덱스 제거 sample62는 테이블명
검색은 테이블에서 수행
explain sql명령 index를 사용해서 검색을 하는지 확인가능
뷰 가상테이블
create view sample_view_67 as select * from sample54; 뷰 생성
뷰에서 검색가능
drop view sample_view_67; 뷰 제거
'개발정보 > DB' 카테고리의 다른 글
SQL 첫걸음 8장 설계 (0) | 2019.01.28 |
---|---|
SQL 첫걸음 7장 복수 테이블 제어 (0) | 2019.01.28 |
SQL 첫걸음 5장 집계와 서브쿼리 (0) | 2019.01.28 |
SQL 첫걸음 4장 추가,삭제,갱신 (0) | 2019.01.27 |
SQL 첫걸음 3장 정렬과 연산 (0) | 2019.01.27 |