2-3 관리구문

mangez_js·2025년 2월 17일

SQLD

목록 보기
5/5

DML

INSERT

테이블에 데이터를 입력하는 명령어
-> INSERT INTO 테이블(컬럼1, 컬럼2...) VALUES(데이터1, 데이터2...);

UPDATE

이미 저장된 데이터를 수정하고 싶을 때 사용하는 명령어
-> UPDATE 테이블 SET 속성 = 데이터 WHERE;

DELETE

이미 저장된 데이터를 삭제하고 싶을 때 사용하는 명령어, WHERE 절이 없으면 테이블의 모든 ROW가 삭제
-> DELETE FROM 테이블(WHERE 수정할 데이터에 대한 조인); : 모든 데이터를 삭제, 테이블 용량은 감소하지 않음
-> TRUNCATE TABLE 테이블; : 모든 데이터를 삭제테이블 용량 초기화

MERGE

테이블에 새로운 데이터를 입력하거나 이미 저장되어 있는 데이터에 대한 변경 작업을 한번에 할 수 있또록 해주는 명령어
-> MERGE INTO 변경할 테이블
-> USER 비교할 테이블 | 서브쿼리
-> ON 조건문
-> WHEN MATCHED THEN UPDATE~
-> WHEN NOT MATCHED THEN INSERT~

TCL

제어명령어 : COMMIT, ROLLBACK, SAVEPOINT

  • 트랜잭션 : 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
    특징)
  • ATOMICITY 원자성 : ALL OR NOTHING
  • CONSISTENCY 일관성 : 트랜잭션이 완료된 후에도 데이터베이스가 가진 데이터에 일관성이 있어야 한다.
  • ISOLATION 고립성 : 하나의 트랜잭션을 고립되어 수행
  • DURABILITY 지속성 : 트랜잭션이 성공하면 갱신한 내용이 데이터베이스에 영구 저장

COMMIT

INSERT, DELETE, UPDATE 후 변경된 내용을 확정, 반영하는 명령어

ROLLBACK

INSERT, DELETE, UPDATE 후 변경된 내용을 취소하는 명령어

SAVEPOINT

ROLLBACK을 수행할 때 전체 작업을 되돌리지 않고 일부만 되돌릴 수 있게 하는 명령어

DDL

정의명령어 : CREATE, ALTER, DROP, RENAME, TRUNCATE

CREATE

테이블을 생성하기 위한 명령어
-> CREATE TABLE 테이블(컬럼 데이터타입(DEFAULT/NULL 여부), ...);

  • NULL : 공백(' ')과는 다르며 존재하지 않는 값
  • DEFAULT : 데이터의 기본 값
    주의사항
  • 테이블 명은 고유해야 한다.
  • 컬럼명 뒤에 데이터 유형과 데이터 크기가 명시되어야 한다.
  • 테이블 내의 컬럼명 중복 X
  • 컬럼에 대한 정의는 괄호() 안에 기술한다.
  • 각 컬럼들은 ,(콤마)로 구분된다.
  • 테이블 명과 컬럼명은 숫자로 시작될 수 없다.
  • 마지막은 ;(세미콜론)으로 끝난다.
    제약조건의 종류
CONSTRAINTSNULL허용여부데이터 중복 허용 여부특징
NOTNULLNULL불가중복 가능
UNIQUENULL가능중복 불가(NULL끼리는 중복으로 간주하지 않음)
PK(고유키)NULL불가중복 불가지정한 열은 유일한 값을 반드시 가져야함, 테이블 당 1개만 지정가능
FK(외래키)다른 테이블 열을 참조하여 해당 테이블에 존재하는 값만 입력 가능, 다른 테이블의 고유키(PK)를 참조
CHECK설정한 조건식을 만족하는 데이터만 입력가능 ,조건식을 만족하지 않는 데이터는 입력이 거부됨

ALTER

테이블 구조를 변경해야 할 때 쓸 수 있는 명령어
① ADD COLUMN : 새로운 컬럼을 추가할 때 쓰는 명령어

  • ALTER TABLE 테이블명 ADD 컬럼명 데이터 유형;
    ② DROP COLUMN : 기존에 있던 컬럼이 필요 없어졌을 때 삭제하는 명령어
  • ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
    ③ MODIFY COLUMN : 기존에 있던 컬럼을 변경하고 싶을 때 쓰는 명령어
  • ALTER TABLE 테이블명 MODIFY(컬럼명1 데이터유형[DEFAULT 값][NOTNULL], 컬럼명2 데이터 유형...);
    ④ RENAME COLUMN : 기존에 있던 컬럼의 이름을 변경하고 싶을 때 쓰는 명령어
  • ALTER TABLE 테이블명 RENAME COLUMN 기존 컬렴명 TO 변경할 컬럼명
    ⑤ ADD CONSTRAINT : 계약조건을 추가하고 싶을 때 쓰는 명령어
  • ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건(컬럼명);

DROP TABLE

테이블을 삭제할 때 쓰는 명령어

  • DROP TABLE 테이블명[CASCADE CONSTRAINT];

RENAME TABLE

  • 테이블을 변경할 때 쓰는 명령어
  • RENAME 기존 테이블명 TO 변경할 테이블명;

TRUNCATE TABLE

  • 테이블에 저장되어 있는 데이터를 모두 제거하는 명령어
  • TRUNCATE TABLE 테이블명;

DCL

USER를 생성하고 권한을 부여해주는 명령어 : CREATE USER, ALTER USER, DROP USER

USER 관련 명령어

① CREATE USER : 사용자를 생성하는 명령어

  • CREATE USER 사용자명 IDENTIFIED BY 패스워드;
    ② ALTER USER : 사용자를 변경하는 명령어
  • ALTER USER 사용자명 IDENTIFIED BY 패스워드;
    ③ DROP USER : 사용자를 삭제하는 명령어
  • DROP USER 사용자명;

권한 관련 명령어

① GRANT : 사용자에게 권한을 부여하는 명령어

  • GRANT 권한 TO 사용자명;
    ② REVOKE : 사용자에게 권한을 회수하는 명령어
  • REVOKE 권한 FROM 사용자명;

ROLE 관련 명령어

① ROLE을 이용한 권한 부여
㉠. ROLE을 생성
-> CREATE ROLE 롤명;
㉡. ROLE에 권한을 부여
-> GRANT 권한 TO 롤명;
㉢. ROLE을 사용자에게 부여
-> GRANT 롤명 TO 사용자명;

0개의 댓글