2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

정보처리기사 - 데이터베이스 구축(3장) 정리

2025. 5. 11. 15:27ㆍ개발공부/자격증 공부
728x90

SQL 응용

 

SQL의 개념

 

DDL - 데이터 정의어

  • SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어
  • CREATE, ALTER, DROP

 

DML - 데이터 조작어

  • 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어
  • SELECT, INSERT, DELETE, UPDATE

 

DCL - 데이터 제어어

  • 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용하는 언어
  • COMMIT, ROLLBACK, GRANT, REVOKE

 

DDL

 

CREATE TABLE

CREATE TABLE 테이블명 (
    컬럼명1 데이터타입 [NOT NULL | UNIQUE | PRIMARY KEY | DEFAULT 기본값 | CHECK(조건)],
    컬럼명2 데이터타입 [...],
    ...
    [CONSTRAINT 제약명 PRIMARY KEY (컬럼명 [, ...])],
    [CONSTRAINT 제약명 UNIQUE (컬럼명 [, ...])],
    [CONSTRAINT 제약명 FOREIGN KEY (컬럼명) REFERENCES 참조테이블(참조컬럼)],
    [CONSTRAINT 제약명 CHECK (조건)]
);

 

ALTER TABLE

ALTER TABLE 테이블명
    ADD    (컬럼명 데이터타입 [제약조건]);

ALTER TABLE 테이블명
    MODIFY (컬럼명 데이터타입 [제약조건]);

ALTER TABLE 테이블명
    DROP   COLUMN 컬럼명;

ALTER TABLE 테이블명
    ADD    CONSTRAINT 제약명 제약조건 (컬럼명[, ...]);

ALTER TABLE 테이블명
    DROP   CONSTRAINT 제약명;

ALTER TABLE 테이블명
    RENAME COLUMN 기존컬럼명 TO 새컬럼명;

ALTER TABLE 테이블명
    RENAME TO 새테이블명;

 

DROP

-- 테이블 삭제
DROP TABLE 테이블명 [RESTRICT | CASCADE];

-- 뷰 삭제
DROP VIEW 뷰명 [RESTRICT | CASCADE];

-- 인덱스 삭제
DROP INDEX 인덱스명 [RESTRICT | CASCADE];

-- 시퀀스 삭제
DROP SEQUENCE 시퀀스명 [RESTRICT | CASCADE];

-- 제약조건 삭제 (ALTER TABLE과 함께 사용)
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
  • CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거함. 즉 주 테이블의 데이터 제거 시 각 외래키와 관계를 맺고 있는 모든 데이터를 제거하는 참조 무결성 제약 조건을 설정하기 위해 사용됨
  • RESTRICT : 다른 개체가 제거할 요소를 참조중일 때는 제거를 취소함

 

DCL

 

GRANT / REVOKE

  • GRANT : 권한을 부여함
  • REVOKE : 권한을 취소함
    GRANT 권한목록
    ON 객체명
    TO 사용자명 [, 사용자명 ...] [WITH GRANT OPTION];
    
    REVOKE 권한목록
    ON 객체명
    FROM 사용자명 [, 사용자명 ...];
  • 권한목록 : SELECT, INSERT, UPDATE, DELETE, ALL .....
  • WITH GRANT OPTION 으로 다른 사용자에게 권한을 넘겨줄 수 있음

 

DML

 

INSERT INTO ~

INSERT INTO 테이블명 [(컬럼명1, 컬럼명2, ...)]
VALUES (값1, 값2, ...);

 

DELETE FROM ~

UPDATE 테이블명
SET 컬럼명1 = 값1 [, 컬럼명2 = 값2, ...]
[WHERE 조건];

 

UPDATE ~ SET ~

UPDATE 테이블명
SET 컬럼명1 = 값1 [, 컬럼명2 = 값2, ...]
[WHERE 조건];
728x90