Database/SQL

[SQL] - Create, Drop, Alter (Data Definition Language/DDL)

Jesse 2021. 3. 25. 01:49

SQL

SQL은 Structured Query Language의 약자로 데이터 베이스에 있는 정보 검색을

용이하게 하는 프로그래밍 언어 입니다.

SQL은 크게 3종류로 나뉘어 집니다. 

  1. Data Definition Language (DDL)
  2. Data Manipulation Language (DML)
  3. Data Control Language (DCL)

오늘은 목록에서 첫번째인 데이터 정의 언어 (DDL)에 대해서 알아보겠습니다.

 

데이터 정의 언어 (DDL)

데이터 정의 언어 (DDL) 는 말 그대로 SQL에서 데이터를 정의하는데에 사용되는 언어들입니다.

DDL에는 CREATE, DROP, ALTER가 있는데요.

CREATE는 데이터 테이블을 생성하는데에 사용 됩니다.

그럼 CREATE를 이용해서 고객들의 id와 이름 그리고 보유 자산을 저장해두는 client라는 테이블을 만들어 보겠습니다.

CREATE TABLE clients(
	id VARCHAR2(20) PRIMARY KEY,
	name VARCHAR2(9) NOT NULL,
	money NUMBER DEFAULT 0
)

여기서, id, name, money는 column들의 이름 입니다.

이렇게 테이블이 생성되고 아래에 원하는 고객 정보를 집어 넣을수 있게 되었습니다.

id와 name 옆에 있는 VARCHAR2는 문자열을 표현하는 자료형이고

money 옆에 있는 NUMBER는 이름 그대로 숫자를 표현하는 자료형입니다.

  • PRIMARY KEY: 한 테이블에 같은 값을 가질수 없다.  
    • 만약 id가 1인 정보를 등록 했다면 더 이상 id가 1인 다른 정보는 등록할수 없습니다.
  • NOT NULL: 등록을 할때 null이 되어서는 안되는 항목 입니다.
    • 정보를 등록할때 NOT NULL이 아닌 곳은 빈칸으로 두어도 문제가 없지만 NOT NULL로 되어있는 곳은 반드시 값을 지정해서 넣어줘야 합니다.
    • 예) id:3, money:200 인 정보를 등록하려고 하면 오류가 나옵니다. -> name은 NOT NULL이라 반드시 값을 지정
    • 예) id:4, name: 음바페인 정보는 등록 가능 합니다. -> money는 NOT NULL이 아니라 값을 지정하지 않아도 됩니다.
  • DEFAULT: 등록할때 값을 지정하지 않고 빈칸으로 두었을때 자동으로 할당되는 값 입니다.
    • 예) id:1, name: 홀란드 인 정보를 등록하려고 하면 money는 값을 지정하지 않았기 때문에 제가 DEFAULT 0으로 지정한 0이 됩니다.
      • id:1 , name: 홀란드 , money: 0 인 정보가 테이블에 등록 됩니다.

테이블을 삭제하고 싶다면 간단하게 아래처럼 DROP을 쓰시면 됩니다.

DROP TABLE clients;

 

자 그럼, 만약 테이블의 이름을 바꾸고 싶다면 어떻게 해야 할까요?

이땐 ALTER를 쓰면 되는데,

ALTER TABLE clients RENAME TO customers;

ALTER는 이렇게 뒤쪽에 변경하고자 하는 새로운 이름을 RENAME TO와 함께

써주면 됩니다.

이러면, 기존의 이름이 clients였던 테이블이 customers로 바뀌게 됩니다.

ALTER는 매우 유용한게 column의 이름을 바꾸고 싶을때도 사용 됩니다.

ALTER를 이용해서 customers 테이블 안에 있는

money라는 column을 wealth로 바꿔보도록 하겠습니다.

ALTER TABLE customers RENAME COLUMN money to wealth;

이러면 테이블에 money라는 column명은 wealth로 바뀌게 됩니다.