본문 바로가기
DBMS/MYSQL

[MySQL] CREATE문 DB, TABLE 생성 쿼리문 사용법 및 예제

by 각종정보라구 2024. 7. 3.

안녕하세요. 똥돼지입니다.

이번에는 데이터베이스 또는 테이블 관리에서 많이 사용되는 CREATE(생성), ALTER(수정), DROP(삭제) Query문 중에서
CREATE문(생성)에 대하여 작성하려고 합니다.


CREATE문은 데이터베이스 또는 테이블을 생성할 때 쓰이며, 주로 테이블 생성 시 많이 사용되고 있습니다.
테이블을 구성하고, 제약조건 등의 속성을 정의하는 Query문입니다.

 

MYSQL CREATE문 (생성)

 

1. 기본적인 CREATE문

1) 새로운 데이터베이스 생성 CREATE DATABASE ~ 문

-- 새로운 데이터베이스 생성
CREATE DATABASE [데이터베이스명];

-- 예제 TEST 데이터베이스 생성
CREATE DATABASE TEST;

 

2) 새로운 테이블 생성 CREATE TABLE ~ 문

-- 새로운 테이블 생성
CREATE TABLE [테이블명]
(
    '컬럼명1' '컬럼타입1',
    '컬럼명2' '컬럼타입2',
    ...
)

-- info 테이블 생성 ( 컬럼 이름(name), 전화번호(hp), 주소(address) )
CREATE TABLE info
(
    name VARCHAR(10),
    hp INT,
    address VARCHAR(50)
)

2. 속성의 제약을 정의하는 CREATE문

1) 특정 칼럼에 빈 값 유무를 지정

-- info 테이블 생성 ( 이름(name)은 빈 값 허용 안됨, 번화번호(hp)와 주소(address)는 빈 값 허용 )
CREATE TABLE info
(
    name VARCHAR(10) NOT NULL,
    hp INT NULL,
    address VARCHAR(50) NULL
)

* NOT NULL : 해당 필드는 NULL값을 저장할 수 있다.

 

2) 기본값(DEFAULT) 지정

-- info 테이블 생성 ( 주소 기본값 NULL 설정 )
-- INSERT시 address값이 들어가지 않으면 자동적으로 NULL값 삽입
CREATE TABLE info
(
    name VARCHAR(10) NOT NULL,
    hp INT NULL,
    address VARCHAR(50) NULL DEFAULT NULL
)

* DEFAULT : 해당 필드의 기본값을 설정

 

3) 기본키(PRIMARY KEY) , 외래 키(FOREIGN KEY) 지정

-- info 테이블 생성 ( 기본키 이름(name), 외래키 전화번호(hp) 지정 )
-- 외래키 지정시 REFERENCES는 전화번호(hp)가 참조되는 테이블명(컬럼명)이다.
CREATE TABLE info
(
    name VARCHAR(10) NOT NULL,
    hp INT NULL,
    
    PRIMARY KEY (name),
    FOREIGN KEY (hp) REFERENCES test(testhp)
)

-- 기본키 지정 방법2 ( 기본키 이름(name) )
CREATE TABLE info
(
    name VARCHAR(10) NOT NULL PRIMARY KEY,
    hp INT NULL
)

* UNIQUE : 해당 필드는 서로 다른 값을 가져야만 한다.
* PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 갖게 된다.
* FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만든다.

 

4) AUTO_INCREMENT(자동 증가) 값 지정

-- info 테이블 생성 ( 기본키 순번(seq_no) 지정, 순번(seq_no) 자동 증가값 설정 )
-- seq_no의 값을 넣지 않아도 1부터 순차적으로 1씩 증가된 값이 삽입된다.
CREATE TABLE info
(
    seq_no INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    name VARCHAR(10) NOT NULL
)

댓글