[MySQL] 데이터베이스 기초 - 테이블 (Table) 정의

반응형

     


     테이블 추가 

     

    DATA DEFINITION LANGUAGE (DDL)은 데이터베이스 테이블을 정의하기 위한 언어입니다. 데이터베이스는 여러 개의 테이블로 이루어져 있는 만큼 테이블 추가와 변경 삭제는 중요합니다. DDL은 테이블 구조를 변경하거나 새로 만들고 또 삭제할 수 있는 언어를 말합니다. MySQL에서 실제 테이블을 삭제하고 수정 삭제를 해보겠습니다. 

     

     

     

    테이블 생성 (Create)을 하려면 다음과 같이 컬럼들을 나열하고 기본키 설정 및 기본값 설정을 해줘야 합니다. 다양한 데이터 타입이 있는데 다른 글에서 따로 정리해보도록 하겠습니다. 또한 NOT NULL은 컬럼에 NULL 값 즉 빈 값을 넣을 수 없다는 의미가 됩니다.


     

     

     

     다음은 예문입니다. 새로운 employees 데이터베이스를 생성하고 프라이머리 키를 emp_no로 설정합니다. gender와 같이 ENUM 값을 넣을 수도 있습니다. 해당 컬럼에는 'M' 또는 'F' 의 값만 넣을 수 있는 특징이 있습니다.

    MYSQL CREATE TABLE


     

     

     


     테이블 수정 

     

     테이블 수정 (Alter)은 이미 만들어진 테이블에 컬럼을 추가하거나 속성을 변경하는 경우에 사용됩니다. 또한 필요 없는 컬럼이 있다면 삭제도 가능합니다.


     

     

     

     employees 데이터베이스에 nickname 이라는 새로운 컬럼을 추가해보겠습니다. ADD 구문을 사용해 추가하며 varchar(10) 데이터형으로 지정했습니다.


     

     

     

     다음은 컬럼을 수정할 때 쓰는 SQL 예시입니다. 


     

     

     

     실제 데이터를 수정해보겠습니다. first_name, last_name의 문자 저장 길이가 다른데요. 이를 똑같이 varchar(16)으로 수정해보겠습니다. 다음과 같이 ALTER COLUMN 구문을 사용해서 first_name의 데이터 타입을 변경할 수 있습니다. 뿐만 아니라 기본값이 없거나 NOT NULL 설정도 동시에 가능합니다.


     

     

     

     이번엔 테이블에서 쓸모 없어진 컬럼을 제거해보겠습니다. 제거는 간단합니다. DROP COLUMN 을 사용해서 제거합니다.


     

     

     

     처음에 ADD 컬럼을 통해 추가한 nickname을 제거해보겠습니다.


     

     

     

    다음은 컬럼의 디폴트 값을 변경하는 예제입니다.


     

     

     

    nickname의 기본값을 '이름없음'으로 변경해보겠습니다. 이제부터는 행추가시 nickname 값을 할당하지 않으면 기본값으로 '이름없음' 데이터가 자동으로 추가됩니다.


     

     

     


     테이블 삭제 

     

     테이블 삭제 (Delete) 테이블의 삭제는 주의하여야 하는 명령어입니다. 만약 테이블이 필요 없다면 삭제를 해줘야 하는데 다음과 같이 테이블 삭제가 가능합니다.


     

     

     

     실제 조금 전에 만든 데이터베이스 employees를 삭제해보겠습니다.

    MYSQL DELETE TABLE


    반응형

    댓글

    Designed by JB FACTORY