ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [삼쾌한 IT강의] MySQL DDL 실습
    데이터베이스/실습 2022. 7. 23. 16:57


     안녕하세요 삼쾌한IT강의 백소라강사 입니다. 

    오늘은 DDL 에 대해 포스팅 하도록 하겠습니다 !

     

     

    1. DDL 이란 ? 정의어

    Data Definition Language의 줄임말로 데이터 구조를 정의할 때 쓰는 쿼리입니다. 

    대표적으로 CREATE, ALTER, DROP 이 있습니다.

     

     

     

    2. CREATE 문의 기본 문법

    CREATE TABLE 테이블이름
     ( 속성이름 데이터타입
         [NOT NULL]
         [UNIQUE]
         [DEFAULT 기본값]

         [PRIMARY KEY 속성이름(들)]
         [FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
        [ON UPDATE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]]
        [ON DELETE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]]
      )

     

     테이블을 생성하며 기본키와 외래키를 설정할 수 있습니다.

    * 기본키 : 레코드를 구분하는 기준이 되는 기본 키

    * 외래키 : 다른테이블의 기본키를 참조하는 키

     

     

    사용예시 : 아래와 같이 newbook 테이블을 생성하려면?!

    CREATE TABLE NewBook (
     bookname   VARCHAR(20),
     publisher   VARCHAR(20),
     price   INT,


    PRIMARY KEY (bookname, publisher));

    *PRIMARY KEY(기본키)를 2개 이상 지정하려면 CREATE 문의 맨 마지막에 기재해야 합니다.

     

     

     

    3. 외래키 적용시 옵션 내용 

    * 참조하고 있는 부모테이블의 기본키 행(투플/레코드)이 변경된 경우 자식테이블의 행에 어떤 조치(?)를 취할건지 결정하는 옵션

     

     

     

    기본키 및 외래키 (FOREIGN KEY) 적용 예시 :

    다음과 같은 속성을 가진 NewOrders 테이블을 생성하시오.
    orderid(주문번호) - INT, 기본키
    custid(고객번호) - INT, NOT NULL 제약조건, 외래키(NewCustomer.custid, 연쇄삭제)
    bookid(도서번호) - INT, NOT NULL 제약조건
    saleprice(판매가격) - INT
    orderdate(판매일자) - DATE

     

    CREATE TABLE NewOrders (
     orderid   INT,
     custid   INT   NOT NULL,
     bookid   INT   NOT NULL,
     saleprice   INT,
     orderdate   DATE,
     PRIMARY KEY (orderid),
     FOREIGN KEY (custid) REFERENCES NewCustomer(custid) ON DELETE CASCADE);

    설명 : NewCustomer 테이블의 custid가 6인 레코드를 삭제하면 NewOrders의 custid 6번 행도 함께 삭제된다. 

     

     

     

     

    4. ALTER문의 기본 문법

     

    ALTER TABLE 테이블이름

    [ADD 칼럼명 데이터타입]

      [DROP 칼럼명]

      [CHANGE 칼럼명 새칼럼명 데이터타입]

      [MODIFY 칼럼명 데이터타입]

      [ADD PRIMARY KEY(컬럼명)] 

      [DROP PRIMARY KEY]

      [ADD FOREIGN KEY (컬럼명) REFERENCES 원테이블명(원컬럼명)]

      [DROP FOREIGN KEY 컬럼명]

      [RENAME 새테이블명]

      [ALTER 칼럼명 SET DEFAULT 기본값]

      [ALTER 칼럼명 DROP DEFAULT]

     

    사용예시 : NewBook 테이블의 isbn 속성의 데이터 타입을 INT형으로 변경하시오.

    ALTER TABLE NewBook MODIFY isbn INT;

     

     

     

     

     

     이상 DDL의 기본 개념과 사용법에 대해 알아보았습니다.

    도움이 됐다면 공감버튼 클릭! 댓글은 센스! 감사합니다 :-)

    댓글

Designed by Tistory.