SQL-DDL(Data Definition Language)
데이터베이스 명령어
- DBMS 내부에는 여러 개의 데이터베이스가 존재한다.
- 각 데이터베이스 내부에는 여러 개의 테이블이 존재한다.
## [..]는 필수가 아닌 옵션이다.
1. 데이터베이스 생성
CREATE DATABASE 데이터베이스명;
2. 데이터베이스 목록 조회
SHOW DATABASES;
3. 특정 데이터베이스 사용
USE 데이터베이스명;
4. 특정 데이터베이스 삭제
DROP DATABASE [IF EXISTS] 데이터베이스명; <- IF EXIST는 해당 데이터베이스가 존재하지 않아도 오류를 발생시키지 말라는 의미
테이블 명령어
테이블 생성
- NOT NULL은 해당 컬럼이 null을 허용하지 않는다는 의미이다.
- AUTO_INCREMENT는 해당 컬럼의 값이 자동으로 1씩 증가하면서 저장된다는 의미
- PRIMARY KEY(column1, ..., columnX)는 기본키를 지정하는 명령어이다. column의 개수가 다수일 경우, 다중 기본키를 지정한다는 의미이다.
## [..]는 필수가 아닌 옵션
1. 테이블 생성 명령어 기본 틀
CREATE TABLE 테이블명 (
컬럼명 데이터형,
컬러명 데이터형,
.
.
Primary Key 가 될 필드 지정
);
2. 예시 SQL
CREATE TABLE mytable (
id INT [NOT NULL] [AUTO_INCREMENT],
name VARCHAR(50),
modelnumber VARCHAR(15),
series VARCHAR(30),
PRIMARY KEY(id)
);
테이블 삭제
## [..]는 필수가 아닌 옵션
1. 테이블 삭제 명령어
DROP TABLE [IF EXISTS] 테이블명; <- IF EXIST는 해당 테이블이 존재하지 않아도 오류를 발생시키지 말라는 의미
테이블 수정
## [..]는 필수가 아닌 옵션
1. 테이블에 새로운 컬럼 추가
ALTER TABLE 테이블명 ADD COLUMN 추가컬럼명 추가컬럼데이터타입;
-> ALTER TABLE mytable ADD COLUMN model_type varchar(10) [NOT NULL];
2. 테이블 컬럼 타입 변경
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 변경데이터타입;
-> ALTER TABLE mytable MODIFY COLUMN name varchar(20) [NOT NULL];
3. 테이블 컬럼 이름 변경
ALTER TABLE 테이블명 CHANGE COLUMN 기존컬럼명 변경컬럼명 변경데이터타입;
-> ALTER TABLE mytable CHANGE COLUMN modelnumber model_num varchar(10) [NOT NULL];
4. 테이블 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
-> ALTER TABLE mytable DROP COLUMN series;