본문 바로가기

IT 차곡차곡/MariaDB

[MariaDB] DDL - CREATE, DROP, 제약조건

CREATE - 테이블 생성

CREATE TABLE [테이블명] ( 컬럼명1 컬럼타입1() [제약조건], 컬럼명2 컬럼타입2() [제약조건], … );

예시

create table account(
account_no int(4) primary key,
account_date date default now(),
code char(14) not null,
withdraw int(12),
deposit int(12),
balance int(12));

 

다른 테이블을 이용해 테이블 생성하기

create table [테이블명] as select 구문;
key값은 복사가 안된다(따로 추가 필요)

제약조건

PRIMARY KEY 

- 테이블 대표값(UNIQUE, NOT NULL)

FOREIGN KEY 

- PK 연결되는 다른 테이블 KEY

- FK는 PK 데이터 모두 가지고 있어야 한다.

예시

CREATE TABLE FK_TEST(
ID CHAR(10),
HIREDATE DATE,
FOREIGN KEY(ID) REFERENCES TEST(ID));

UNIQUE

- 같은 열에서 겹치지 않도록

CHECK

- 원하는 값만 넣도록 (선택)

DEFAULT

- 기본값

NULL 허용

- NOT NULL, NULL

 

예제

다음 테이블(Person)을 생성하시오.

ID 문자(10자리)     -> PK

GENDER (문자 1개) -> F, M

AGE 숫자(3자리) -> NOT NULL, 0~200

BIRTHDAY  날짜 -> NOT NULL,

                           DEFAULT 2021-01-01

-- 제약조건명 없이 생성
create table person(
ID char(10) primary key,
GENDER char(1) check(GENDER in ('F','M')),
AGE int(3) not null check(AGE between 0 and 200),
BIRTHDAY date not null default '2021-01-01'
);  
-- 제약조건명 생성
create table person(
ID char(10),
GENDER char(10),
AGE INT(3) not null,
BIRTHDAY date not null default '2021-01-01',
constraint ID_pk primary key(ID),
constraint GENDER_ck check(GENDER in ('F','M')),
constraint AGE_ck check(AGE between 0 and 200)
); 

결과

 

DROP - 테이블 삭제

DROP TABLE [테이블명] ;

예시

DROP TABLE person;