데이터 정의어 (DDL, Data Definition Language)

심준석·2024년 6월 4일
0

데이터베이스

목록 보기
2/5

데이터 정의어(DDL, Data Definition Language) 란?

행을 row 또는 record라 부르며, 열을 column 또는 field라 부름

테이블 명세

테이블의 컬럼 이름이나 개수, 데이터의 타입, 기본값, 특이점 등을 명시 해놓은 정보

컬럼데이터 타입길이기본 값널 허용코멘트
idvarchar220no아이디
namevarchar230no이름
passwordvarchar230yes비밀 번호
gendervarchar210yes성별
birthDatesysdateyes생년월일
marriagevarchar230yes결혼 유형
salarynumber100yes급여
addressvarchar250yes주소
managervarchar250yes관리자의 아이디 정보

컬럼의 자료 유형

  • number: 숫자형 데이터로 정수 및 실수 사용이 가능함
  • varchar2: 가변 길이 문자열 타입으로, 최대 4000 바이트까지 가능
  • date: 날짜 데이터 타입으로, 시스템 설정에 따라 출력 형태가 다름

예시

  • id의 타입을 길이가 20인 문자열을 사용할 경우

    id varchar2(20)
  • salary의 기본값을 100으로 설정할 경우

    salary number default 100
  • 필수 사항일 경우

    name varchar(30) not null

기본 키(Primary Key)

기본 키는 각각의 행/레코드를 구별하기 위한 컬럼/필드로, not null이며 다른 행과 중복되어서는 안됨(unique)

  • 컬럼 id는 기본키이므로, 다른 컬럼과 중복되어선 안되며 필수적으로 입력되어야함
    id varchar2(20) primary key

데이터베이스 생성

CREATE DATABASE mydatabase;

데이터베이스 실행

USE mydatabase;

테이블 생성 구문

Create table 테이블_이름(
    컬럼_이름 데이터_타입 [not null] [default 기본값] [primary key],
    컬럼_이름 데이터_타입 [not null] [default 기본값]);

예시

CREATE TABLE employees ( 
    id VARCHAR(20) PRIMARY KEY, 
    name VARCHAR(30) NOT NULL, 
    password VARCHAR(20) NOT NULL, 
    gender VARCHAR(10), 
    birth DATE, 
    marriage VARCHAR(30), 
    salary DECIMAL(10, 2) DEFAULT 100.00, 
    address VARCHAR(50), 
    manager VARCHAR(50) 
);

데이터 추가하기

insert into 테이블이름(컬럼01, 컬럼02,)
values(01,02,);

예시

Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('yusin', '김유신', 'abc123', '남자', '1990/12/25', '결혼', 220, '용산', null);

Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('choi', '최영', 'abc123', '남자', '1990/12/25', '결혼', 220, '용산', 'yusin');

Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('kang', '강감찬', 'abc123', '남자', '1990/12/25', '결혼', 220, '용산', 'yusin');

테이블의 모든 행 정보 출력하기

select * from 테이블이름;

예시

select * from employees;

테이블 정보 확인

  • 테이블의 구조 확인
    desc 테이블명;

테이블 구조 변경

컬럼 추가하기

alter table 테이블_이름 add (컬럼_이름 데이터_타입);

예시

alter table employees add hphone varchar(15);

![](https://velog.velcdn.com/images/dev_junseok_22/post/90f01681-186e-41b9-8648-7de82859ff3a/image.png)


alter table employees add (age int default 0);

![](https://velog.velcdn.com/images/dev_junseok_22/post/6f83c0e3-8e32-4b03-9196-04f5ba87ff96/image.png)


alter table employees add (nickname varchar(30) default '철수');

컬럼 구조 변경하기

데이터의 Type, 길이, Default 값 등을 변경

alter table 테이블_이름 modify 컬럼_이름 데이터_타입;

예시

alter table employees modify id varchar(30);

컬럼 이름 변경

alter table 테이블_이름 rename column 이전_컬럼_이름 to 새로운_컬럼_이름;

예시

alter table employees rename column hphone to handphone;

테이블 이름 변경하기

rename 이전_테이블_이름 to 신규_테이블_이름;

예시

rename table employees to emp99;

테이블 삭제

Purge 구문 없이 사용하면 테이블이 휴지통으로 이동하고, Purge 구문을 사용하면 영구 삭제됨

drop table 테이블_이름 purge;

예시

drop table emp99;

업로드중..

profile
Developer & Publisher 심준석 입니다.

0개의 댓글