DDL (Data Definition Langauge) : 데이터 정의어

2024. 2. 21. 13:09 · DBMS/Oracle SQL

1. DDL (Data Definition Langauge) : 데이터 정의어
- 테이블 조작 또는 제어 관련 쿼리문

 

 

2. DDL 종류

1. CREATE      2. DROP      3. ALTER      4. TRUNCATE 

 

 

 

DDL - 테이블 조작언어라서 테이블 자체를 삭제하려면 이걸로 해야함

 

CREATE : 테이블 생성

 

CREATE TABLE 테이블명 (

              칼럼명 자료형

              칼럼명 VARCHAR2(용량)

);

 

DROP : 테이블 삭제

 

DROP TABLE TBL_PROD

 

3. ALTER : 테이블 수정

 

- 테이블 명 수정

ALTER TABLE 테이블명
	RENAME TO 새로운테이블명;

 

- 테이블 컬럼 추가

ALTER TABLE 테이블명
	ADD(추가할컬럼명 자료형(용량));

 

- 컬럼 삭제

ALTER TABLE 테이블명
	DROP COLUMN 삭제할컬럼명

 

- 컬럼명 수정

ALTER TABLE 테이블명
	RENAME 이전컬럼명 TO 새로운컬럼명

 

- 컬럼 '타입' 수정

ALTER TABLE 테이블명
	MODIFY(컬럼명 수정할자료형(용량));

 

더 많음 

 

 

TRUNCATE (튜런케이트) : 테이블 내용 전체 삭제

 

TRUNCATE TABLE 테이블명;

 DELETE FROM테이블명

 

둘이 하는 일은 같다 하지만

튜런케이트가 속도가 훨씬빠르다

문제는: 

트렌젝션

이미 실행한 작업을 다시 되돌리는 작업 (롤백)

튜런케이트는 롤백이 안됨

 

 

- 제약조건(constraint)

컬럼안에 들어갈 데이터에 제약을 거는것이다

예) null값이 들어올수 없어, 중복값이 들어올수없어 

 

 

5. 전체 쿼리문

---------------------------------------------------------------------------
-- DDL
---------------------------------------------------------------------------


---------------------------------------------------------------------------
-- CREATE
---------------------------------------------------------------------------
-- USER정보를 담은 TBL_USER테이블 생성
CREATE TABLE TBL_USER(
	USER_NAME VARCHAR2(500),
	USER_AGE NUMBER
)

---------------------------------------------------------------------------
-- ALTER
---------------------------------------------------------------------------
-- 테이블명 변경: TBL_USER -> TBL_MY_USER 
ALTER TABLE TBL_USER
	RENAME TO TBL_MY_USER;

-- 컬럼 추가: USER_GENDER
ALTER TABLE TBL_MY_USER
	ADD(USER_GENDER VARCHAR2(100));

-- 컬럼명 수정 : USER_NAME -> USER_NICKNAME 
ALTER TABLE TBL_MY_USER
	RENAME COLUMN USER_NAME TO USER_NICKNAME;

-- 컬럼 삭제 : USER_GENDER
ALTER TABLE TBL_MY_USER 
	DROP COLUMN USER_GENDER;

--컬럼 타입 수정 : USER_NICKNAME 컬럼을 VARCHAR2(1000)으로 변경
ALTER TABLE TBL_MY_USER 
	MODIFY(USER_NICKNAME VARCHAR2(1000)); -- 칼럼에 데이터가 들어있으면 자료형 수정 불가

INSERT INTO TBL_MY_USER
VALUES('철수', 30);

---------------------------------------------------------------------------
-- TRUNCATE :모든 데이터 삭제
---------------------------------------------------------------------------
TRUNCATE TABLE TBL_MY_USER;

---------------------------------------------------------------------------
-- DROP 테이블 삭제
---------------------------------------------------------------------------
DROP TABLE TBL_MY_USER;

SELECT * FROM TBL_MY_USER;


---------------------------------------------------------------------------
-- [실습]
---------------------------------------------------------------------------
-- TBL_MUSIC 테이블 생성
CREATE TABLE TBL_MUSIC(
	MUSIC_NUMBER NUMBER,
	MUSIC_TITLE VARCHAR2(500),
	MUSIC_SINGER VARCHAR2(500)
);

-- DATE 타입의 MUSIC_DATE 칼럼 추가
ALTER TABLE TBL_MUSIC
	ADD(MUSIC_DATE DATE);

-- 테이블명 TBL_MY_MUSIC으로 수정
ALTER TABLE TBL_MUSIC
	RENAME TO TBL_MY_MUSIC;

-- 컬럼명 MUSIC_NUMBER => MY_MUSIC_NUMBER 으로 수정
ALTER TABLE TBL_MY_MUSIC
	RENAME COLUMN MUSIC_NUMBER TO MY_MUSIC_NUMBER;

-- MY_MUSIC_NUMBER 컬럼의 자료형을 VARCHAR2(500)으로 수정
ALTER TABLE TBL_MY_MUSIC
	MODIFY(MY_MUSIC_NUMBER VARCHAR2(500));

-- MUSIC_DATE 컬럼 삭제
ALTER TABLE TBL_MY_MUSIC 
	DROP COLUMN MUSIC_DATE;

-- TBL_MY_MUSIC 테이블 삭제
DROP TABLE TBL_MY_MUSIC  

SELECT * FROM TBL_MY_MUSIC;

 

728x90

'DBMS > Oracle SQL' 카테고리의 다른 글

무결성  (0) 2024.02.23
PK, FK, ERD  (0) 2024.02.21
DML (Data Manipulation Langauge) : 데이터 조작어  (0) 2024.02.21
DBMS SQL 자료형, 연산자 종류  (0) 2024.02.19
SELECT(조회), ORDER BY(정렬), DISTICT(중복제거), AS(별칭)  (0) 2024.02.19
'DBMS/Oracle SQL' 카테고리의 다른 글
  • 무결성
  • PK, FK, ERD
  • DML (Data Manipulation Langauge) : 데이터 조작어
  • DBMS SQL 자료형, 연산자 종류
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    input
    빅데이터분석
    js
    dbms
    AI역량검사
    react
    BDA학회
    Oracle
    sql
    Py
    취업
    jsx
    print(f"")
    자바스크립트
    자료형
    python
    파이썬{}
    파이썬 챗봇 만들기
    티스토리챌린지
    오블완
    주석
    리액트
    파이썬
    대학생학회
    오라클SQL
    취업준비
    이름나이
    대외활동
    importturtle
    javascript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
DDL (Data Definition Langauge) : 데이터 정의어
상단으로

티스토리툴바