안녕하세요. 똥돼지입니다.
이번에는 데이터베이스 또는 테이블 관리에서 많이 사용되는 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
)
'DBMS > MYSQL' 카테고리의 다른 글
[MYSQL] INSERT문 사용법 및 예제 ( 다중 레코드, SELECT문 추가 ) (0) | 2024.07.03 |
---|---|
[MYSQL] 데이터 조회, 삽입, 수정, 삭제(Select, Insert, Update, Delete) (0) | 2024.07.03 |
[MYSQL]SELECT문 WHERE 조건에서 날짜(DATE)를 이용한 검색 사용법 및 예제 (0) | 2024.07.03 |
[MySQL] function 생성 시 관련 오류(log_bin_trust_function_creators) (0) | 2024.07.03 |
[MySQL] 데이터베이스 주석(Comment) 사용 방법 (0) | 2024.07.03 |
댓글