DataBase/SQL
[SQL] DDL - 데이터 정의
노트북 산 김에 공부
2023. 3. 15. 19:17
DDL (Data Defintion Language) - 데이터 정의 언어
데이터베이스의 구조와 테이블, 뷰, 인덱스, 프로시저와 같은 개체를 정의
create
테이블을 생성한다
create table 테이블명( 속성이름 데이터타입(크기) 제약조건, ... );
create table student(
sid varchar2(9) primary key,
name varchar2(3) not null,
age number(3) not null,
birth date not null
);
create로 학생(student) 테이블을 생성했다. 속성은 [학번(sid), 이름(name), 나이(age), 생일(birth)] 이다.
학번은 기본키(primary key)로 지정하고 나머지 속성은 도메인 무결성을 위해 NOT NULL 제약을 걸었다.
create as select
DML의 select를 이용하여 다른 테이블의 데이터를 복사하여 새로운 테이블 생성이 가능(릴레이션 인스턴스도 복사됨)
create table student2
as
select sid, name, age, birth
from student;
alter
테이블을 수정한다
add
테이블에 새로운 속성을 추가한다
alter table student
add gender char(2);
성별(gender) 속성을 char 데이터 타입으로 추가했다.
drop column
테이블에서 속성을 삭제한다
alter table student
drop column gender;
성별(gender) 속성을 삭제했다.
modify
테이블의 속성에 대한 정의를 변경한다
modify 속성명 데이터타입
alter table student
modify name varchar(9);
# 제약조건을 안 적어도 제약조건이 없어지지 않는다
이름(name) 속성의 데이터 크기를 3에서 9로 늘렸다. ( 제약조건을 안 적어도 제약조건이 없어지지 않는다)
rename
테이블 속성(또는 테이블명)의 이름을 변경한다
alter table student # 테이블명 변경은 'column'을 안 붙이면 된다
rename column sid to id; rename student to stu;
# old # new
학번 속성의 이름을 sid 에서 id 로 변경했다.
drop
테이블을 삭제한다
drop table
데이터 베이스를 삭제하려면 drop database [dbname];
drop table student2;