DB/SQL 3주차

현준·2024년 6월 11일

사관학교

목록 보기
6/23

DDL

CREATE

CREATE TABLE 테이블명

  • 테이블 생성 규칙
  1. 대소문자 구분X
  2. 테이블 명 중복 될 수 없다
  3. 같은 테이블 내에서 컬럼명은 중복 될 수 없다
  4. 컬럼명은 문자로 시작해야하며 예약어는 사용 불가

컬럼 데이터 타입

NUMBER(총 숫자 갯수, 소수점 갯수)

  • EX) NUMBER(3,2) ->> 1.01 ~ 9.99 사용 가능

CHAR : 2000BYTE 고정 길이 문자열 데이터 저장

VARCHAR2 : 4000BYTE 가변 길이 문자열 데이터 저장

  • 오라클은 VARCHAR2 /
    SQL SERVER는 VARCHAR

DATE: 세기,연,월,요,

  • SYSDATE > 현재 날짜로 설정

제약 조건

  • 제약조건 주의사항
  1. 각각의 컬럼 데이터 타입을 지정해야함
  2. 테이블의 제약조건 부여

PRIMARY KEY 적용

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건 (컬럼이름);
-> NOT NULL + FOREIGN KEY

  • 제약조건명에 가독성이 편하게 만들면됨
    시작은 문자로 시작해야함
  • ALTER TABLE 직원 ADD CONSTRAINT PK_직원번호 PRIMARY KEY (직원번호);
    -> 직원 테이블에 / 추가한다/ 제약조건/ 기본키로/ 직원번호 컬럼

NOT NULL 적용

처음 컬럼을 만들면 NULL 조건이 허용되어 있어 NOT NULL로 바꿔줘야 한다

ALTER TABLE 테이블명 MODIFY 컬렴명 NOT NULL;

CHECK

값의 범위 또는 패턴을 정의할 때 사용하는 제약 조건

데이터의 범위 지정
데이터를 넣을 때 급여의 값을 0이상인 데이터만 넣는다

foreign key

참조값 설정

  • 참조할 때는 반드시 참조되어지는 테이블에서 PK 또는 UK 이어야만 한다 (데이터 무결성 때문)

무결성

데이터에 결함이 없는 상태# DML > 데이터가 정확하고 유효하게 유지 된 상태

무결성 제약 조건

데이터에 저장된 데이터의 무결성을 보장, 일관되게 유지하기 위함

ALTER

테이블을 수정하는 명령어

  • [CONSTRARINT 제약조건명] 생략 가능하나 추후 ALTER 사용 편리함을 위해 설정해주는 것이 좋음

DROP

테이블을 삭제할 때 사용하는 명령어

DROP TABLE 테이블명;

DML

데이터에 관련 되어있는 명령어

INSERT INTO

테이블 안에 데이터 값을 넣을 때 사용하는 명령어

  1. 데이터 전체 삽입
    INSERT INTO 테이블명
    VALUES (컬럼1데이터값, 컬럼2데이터값, 컬럼3데이터값, ....);
  2. 데이터 일부 삽입
    INSERT INTO 테이블명(컬럼1,컬럼2, 컬럼4)
    VALUES (컬럼1데이터, 컬럼2데이터, 컬럼4데이터);
  • values 안에는 컬럼 순서대로 데이터를 넣어야함

DELETE

데이터 삭제 명령어

DELETE FROM 테이블명 [WHERE @@@]

UPDATE

데이터 수정 명령어

UPDATE 테이블명
SET 컬럼 = 컬럼수정내용
[WHERE @@@]

SELECT

데이터를 조회하는 명령어

SELECT 컬럼명 ~~~ [DISTINCT][AS "별칭"]
FROM 테이블명

DCL

데이터 제어어 (데이터베이스 사용 제어어)

GRANT

권한을 주는 명령어

GRANT 권한 [on 테이블] TO 사용자

  • GRANT CREATE SESSION TO 사용자
    디비에 사용자라는 계정에 접근을 부여한다
  • grant unlimited tablespace to dcltest;
    테이블 저장공간 제한 해제 권한 부여
  • grant create table to dcltest;
    테이블 생성 권한 부여
  • grant create tablespace to dcltest;
    테이블 공간 사용 권한 부여

REVOKE

권한 회수 명령어

REVOKE 권한 [on 테이블] FROM 사용자;

ROLE

권한 묶음

grant connect, resource to dcltest2;

  • 위 명령어로 dcltest2 db접속과 테이블 권한 등 권한 묶음을 통해 한번에 적용할 수 있음

TCL

트랜잭션 조종 명령어
특정 기능을 수행하기 위한 명령의 집합

트랜잭션 특성

COMMIT

트랜젝션(데이터에 관련한 작업 내용) 저장 명령어

ROLLBACK

마지막 커밋 시점으로 되돌리는 명령어

0개의 댓글