[Database] MySQL DDL Query

게맛살맛게·2021년 12월 20일
0

DB

목록 보기
5/23

Database

CREATE DATABASE 데이터베이스명;
DROP DATABASE 데이터베이스명;

TABLE

Table 생성

CREATE TABLE buytbl
( 
	num		INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
	userid		CHAR(8) 	NOT NULL,
	prodName	CHAR(6) 	NOT NULL,
	groupName	CHAR(5) 	NOT NULL,
	price		INT		NOT NULL,
	amount		SMALLINT	NOT NULL,
	FOREIGN KEY (userid) REFERENCES usertbl(userID)
);

Table 삭제

DROP TABLE 테이블이름;
  • 외래 키 제약조건의 기준 테이블은 삭제할 수 없음
  • 먼저 외래 키가 생성된 외래 키 테이블을 삭제해야함
  • 동시에 여러 테이블 삭제도 가능

Table 수정

테이블에 무엇인가 추가/변경/수정/삭제 모두 ALTER 사용

열의 추가 : ADD

  • 기본적으로 가장 뒤에 추가
  • 순서를 지정하려면 제일 뒤에 'FIRST' 또는 'ALTER 열 이름' 지정

열의 삭제 : DROP

  • 제약조건이 걸린 열을 삭제할 경우 제약 조건을 먼저 삭제한 후에 열을 삭제

열의 변경 : CHANGE

  • 열의 이름 및 데이터 형식 변경
  • 열의 제약조건 추가 및 삭제



제약조건

Constraint : 데이터의 무결성을 지기키 위한 제한된 조건을 의미

데이터 무결성을 위한 제약조건

CONSTRAINT 제약조건 제약조건이름 (1, [2, ...])
or
열 옆에 제약조건 설정

1. PRIMARY KEY
2. FOREIGN KEY
3. UNIQUE
4. CHECK
5. DEFAULT 정의
6. NULL 값 허용

기본 키 (Primary Key)

테이블에 존재하는 많은 행의 데이터를 구분할 수 있는 식별자

  • 중복이나 NULL이 입력될 수 없음
  • 기본 키로 생성한 것은 자동으로 클러스터형 인덱스 생성 (AUTO_INCREMENT)
  • 테이블에서는 기본 키를 하나이상 열에 설정 가능 (묶어서 함께 사용)

외래 키 (Foreign Key)

두 테이블 사이의 관계를 선언하여 데이터의 무결성을 보장

  • 외래 키 관계를 설정하면 하나의 테이블이 다른 테이블에 의존
  • 외래 키 테이블이 참조하는 기준 테이블의 열은 반드시 PK이거나 Unique이어야 함
  • 외래 키의 옵션 중 ON DELETE CASCADE 또는 ON UPDATE CASCADE
    기준 테이블의 데이터가 변경 되었을 때 외래 키 테이블도 자동으로 적동되도록 설정

UNIQUE 제약 조건

'중복되지 않는 유일한 값'을 입력해야하는 조건

  • PRIMARY KEY와 비슷하나 UNIQUE는 NULL을 허용
    null은 여러 개가 입력되어도 상관없음

CHECK 제약조건

입력되는 데이터를 점검하는 기능

DEFALUT 정의

값을 입력하지 않았을 때 자동으로 입력되는 기본 값을 정의하는 방법

NOT NULL

NULL값을 허용하지 않도록 하는 조건

  • NULL 값을 허용하려면 NULL, 허용하지 않으려면 NOT NULL을 사용
  • PRIMARY KEY가 설정된 열에는 자동으로 NOT NULL
profile
IT 기술블로그

0개의 댓글