CS - DB(9) SQL 데이터 정의

김영현·2024년 11월 13일
0

CS

목록 보기
29/32

SQL(Structured Query Language)

관계 데이터베이스를 위한 표준 질의어(query lang)다.
세가지 종류로 나뉜다.

  • DDL : 테이블 생성,변경,제거(CREATE, ALTER, DROP)기능 제공
  • DML : 테이블에 새 데이터 삽입(INSERT) 및 저장된 데이터 수정-삭제-검색(SELECT,UPDATE,DELETE)
  • DCL : 보안을 위해 데이터 접근및 사용자 권한 관리

CREATE

테이블을 생성하는 명령어다.

CREATE TABLE 테이블_이름 (
	속성_이름 데이터_타입 [NOT NULL/*널 값을 허용하지 않음*/] [DEFAULT 기본_값 /*속성의 기본 값*/]
    [PRIMARY KEY (속성_리스트)] /*기본키*/
    [UNIQUE (속성_리스트)] /*대체키*/
    [FOREGIN KEY (속성_리스트) REFERENCES 테이블_이름(속성_리스트)] /*외래키*/
    [ON DELETE 옵션] [ON UPDATE 옵션]
    [CONSTRAINT 이름] [CHECK(조건)] /*데이터 제약조건*/
);
  • []괄호 내 내용은 생략이 가능하다.
  • 세미콜론;으로 문장의 끝을 표시한다(여타 프로그래밍 언어와 동일).
  • 대소문자를 구분하지 않는 특징이 있다.

고객 테이블은 고객아이디, 고객이름, 나이, 등급, 직업, 적립금 속성으로 구성된다.
고객아이디가 기본 키다. 고객이름,등급속성은 값 입력이 필수다. 적립금 속성은 값 입력하지 않을 시 0이 기본값이다

위 예시로 한번 테이블을 생성해보자.

CREATE TABLE 고객(
	고객아이디 VARCHAR(20) NOTNULL, 
    고객이름 VARCHAR(20) NOT NULL, 
    나이 SHORT, 
    등급 VARCHAR(10) NOT NULL, 
    직업 VARCHAR(20), 
    적립금 INT DEFAULT 0,
    PRIMARY KEY(고객아이디)
);

제품 테이블은 제품번호, 제품명, 재고량, 단가, 제조업체 속성으로 구성된다. 제품번호가 기본키다. 재고량이 항상0개이상 1만개 이하를 유지하도록 생성하여라

한번 더 해보자

CREATE TABLE 제품(
	제품번호 INT NOT NULL,
    제품명 VARCHAR(30),
    재고량 SHORT,
    단가 LONG,
    제조업체 VARCHAR(30)
    PRIMARY KEY(제품번호)
    CHECK(재고량>=0 && 재고량<=10000)
);

ALTER

새로운 속성을 추가하는 명령어다.

ALTER TABLE 테이블_이름
	ADD 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본_값];

만약 기존 속성을 삭제한다면 아래와 같이 DROP을 같이 쓴다.

ALTER TABLE 테이블_이름
	DROP 속성_이름 CASCADE | RESTRICT; /*속성과 관련된 제약조건이나 참조하는 다른속성을 함께 삭제하거나 존재할시 삭제를 거부한다.*/

간단하니 예시는 넘어가겠음!

DROP

테이블 자체를 제거하는 명령어다.

DROP TABLE 테이블_이름 CASCADE | RESTRICT /*제거할 테이블을 참조하는 다른 테이블도 제거 vs 제거할 테이블을 참조하는 다른 테이블이 존재하면 제거 거부*/

명령어로 뚝딱거리는 부분이라 쉽구만!!!

profile
모르는 것을 모른다고 하기

0개의 댓글