LG CNS 부트캠프 학습일지 23일차
학습 내용
- DDL (Data Definition Language)
CREATE,ALTER구문 사용법- View 만들기
SEQUENCE구문 사용법
CREATE, ALTER 구문 사용법
이전까지는 SELECT 구문을 사용해서 기존 데이터베이스로부터 원하는 정보를 얻는 방법을 배웠다. 오늘은 DDL을 사용해서 테이블을 새로 만들고 수정하는 방법을 배웠다.
1
2
3
4
5
6
7
8
9
10
DROP TABLE IF EXISTS employee;
CREATE TABLE employee (
EMP_NO VARCHAR(10),
EMP_NAME VARCHAR(10),
DEPT_ID VARCHAR(10),
GENDER CHAR(1) NOT NULL CHECK(GENDER IN ('M', 'F')),
REGDATE DATE DEFAULT SYSDATE(),
CONSTRAINT PRIMARY KEY (EMP_NO),
CONSTRAINT FOREIGN KEY (DEPT_ID) REFERENCES department(DEPT_ID)
);
CREATE 문은 대충 이런 느낌이다. 열의 이름과 자료형을 정해준다. 만약 입력받을 데이터에 일정한 제약을 걸어주고 싶다면 추가해주면 된다.
1
2
3
4
5
6
ALTER TABLE employee
ADD CONSTRAINT PRIMARY KEY (EMP_NO),
ADD CONSTRAINT FOREIGN KEY (DEPT_ID) REFERENCES department(DEPT_ID),
MODIFY COLUMN GENDER CHAR(2),
CHANGE COLUMN GENDER EMP_GENDER CHAR(2)
...;
ALTER 구문을 사용하면 이미 존재하는 테이블의 스키마나 제약조건을 수정할 수 있다. 열의 자료형을 변경할 때는 MODIFY 구문을 사용하고 열의 이름을 바꿀 때는 CHANGE 를 사용한다. ChatGPT에게 질문하면서 알게되었는데, MySQL 최신 버전에는 RENAME 구문도 사용할 수 있는 것 같다.
1
2
ALTER TABLE employee
RENAME COLUMN OLD_NAME TO NEW_NAME;
View 만들기
View란 무엇인가. 정보처리기사 필기시험 공부하면서 봤었다. 가상의 읽기 전용 테이블이라고 외우고 넘어갔었다.
FROM 구문 아래에서 서브쿼리로 가상의 테이블을 만드는 방식으로 접했었다.
1
2
3
4
5
6
7
SELECT *
FROM (
SELECT EMP_NAME, ADDRESS, GENDER
FROM employee
WHERE employee.DEPT_ID = '90'
) sales_department_employee
WHERE EMP_NAME LIKE '김%'
SEQUENCE 사용법
1
2
3
4
5
6
CREATE SEQUENCE test_sequence
START WITH 1
INCREMENT BY 1;
SELECT NEXTVAL(test_sequence);
SELECT LASTVAL(test_sequence);
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
Comments powered by Disqus.