TIL 데이터베이스(6장)

finelinefe·2020년 10월 21일
0

DATABASE

목록 보기
8/12
post-thumbnail

💡 데이터베이스 명명규칙

1️⃣   기존 이름이나 예약어와 중복하지 않는다.
2️⃣   숫자로 시작할 수 없다.
3️⃣    _ 이외의 기호는 사용 불가
4️⃣    한글을 사용할때는 " 또는 백쿼트' 사용한다
5️⃣    시스템이 허용하는 길이를 초과하지 않는다.


💡 테이블 작성, 삭제, 변경

CREATE TABLE 테이블명(열 정의1, 2..)
DROP TABLE 테이블명 / DROP DATABASE (데이터베이스명)
TRUNCATE TABLE 테이블명
ALTER TABLE 테이블명 하부명령

샘플이라는 데이터를 생성했다.


그리고 그 이후 INSERT문을 사용하여 테이블에 데이터를 추가했다.

❗️DELETE와 TRUNCATE의 차이

DELETE 명령은 행이 많으면 처리속도가 늦어진다. 그럴때는 TRUNCATE명령을 사용한다. 뿐만 아니라 외래키와 연결된 데에 한해서 TRUNCATE를 사용할 수 있는데 이때는

SET_FOREIGN_KEY_CHECKS = 0; TRUNCATE TABLE 테이블명; SET_FOREIGN_KEY_CHECKS = 1;
을 사용해 임시로 연결된 외래키를 복원한다. 사용한 예

ALTER 명령을 사용할때 ADD 를 사용해서 열을 추가할 수 있다.MODIFY를 사용하여 열의 속성을 변경할 수도 있다.CHANGE를 사용할 경우 열 이름 뿐만 아니라 열의 속성도 변경 가능하다. A라는 열 이름을 row1로 변경했고, 기존의 VARCHAR였던 열 속성을 INTEGER로 수정했다.


💡 인덱스 작성 및 삭제

CREATE INDEX
DROP INDEX

인덱스 생성의 경우

  • CREATE INDEX 인덱스명 ON 테이블명(열명1, 열명2..)

인덱스 삭제의 경우(스키마 객체 / 테이블 내 객체)

  • DROP INDEX 인덱스명
  • DROP INDEX 인덱스명 ON 테이블명

💡EXPLAIN

EXPLAIN SQL 명령

실제로 실행되지 않고 어떤 상태로 실행되는지를 데이터베이스가 설명해준다.

💡뷰 작성 및 삭제

CREATE VIEW 뷰명 AS SELECT 명령
DROP VIEW

❗️VIEW = SELECT 명령을 기록하는 데이터베이스 객체, 가상테이블.

저장공간을 필요로 하지 않으며, CPU 자원을 사용한다. 결과의 일시적 보존. 쿼리의 실행이 종료될 때 삭제된다.
(실제하지 않는 가상테이블)


❗️한 테이블 내의 칼럼 하나를 삭제 = ALTER

ALTER TABLE 테이블명 DROP COLUMN 테이블명 내의 칼럼명;

profile
Backend Developer

0개의 댓글