SQL 기본 개념

김혁준·2024년 5월 6일

SQLD

목록 보기
5/6

목차 :
0. macOS에서 oracle db 실행
1. 관계형 데이터베이스란?
2. 관리 구문

0.macOS에서 oracle db 실행

1. 관계형 데이터베이스란?

  • 데이터베이스는 정보를 저장관리조작검색하기 위한 집합이다. 관계형 데이터베이스는 테이블이라는 구조로 데이터를 저장하고 테이블은 행과 열의 형태로 정보를 조직한다.
  • SQL은 관계형 데이터베이스에서 사용하는 언어이다.

2. 관리 구문

  • DCL은 데이터 제어어로 GRANT, REVOKE가 있고 디비 접근 권한을 주거나 회수한다.
  • DDL은 데이터 정의어로 CREATE, ALTER, DROP, RENAME이 있고 테이블 생성,변경,삭제,이름 변경의 기능을 한다.
  • DML은 데이터 조작어로 SELECT, INSERT, UPDATE, DELETE가 있고 조회,삽입,수정,삭제 기능을 한다.
  • TCL은 트랜잭션 제어어로 COMMIT,ROLLBACK,SAVEPOINT가 있고 논리적인 작업단위를 반영,반영취소,저장점 위치지정의 기능을 한다.
  • 테이블은 행과 컬럼의 2차원 구조를 가진 데이터의 저장 장소이고 컬럼은 하나하나의 속성, 행은 가로로 연결된 데이터를 말한다.
  • DML의 문법 :
SELECT : SELECT 컬럼명 FROM 테이블
INSERT : INSERT INTO 테이블명 (컬럼 리스트) VALUES 컬럼 리스트에 넣을 값들
UPDATE : UPDATE 테이블명 SET 수정할 컬럼명 = 새로운 컬럼명
DELETE : DELETE FROM 테이블명 WHERE 조건절
  • DDL의 문법 :
CREATE : CREATE TABLE 테이블명 ( 칼럼명 DATATYPE [] [] ...)
ALTER(컬럼의 추가삭제수정, 제약조건의 추가삭제, 테이블과컬럼의 이름변경시 사용) : ALTER TABLE 테이블명 ADD 추가할컬럼명 데이터유형
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건 (컬럼명)
ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 새로운컬럼명
DROP : DROP TABLE 테이블명 [CASCADE CONSTRAINT]
TRUNCATE(테이블 안의 모든 행들이 제거됨) : TRUNCATE TABLE 테이블명
  • 데이터의 유형 : char(byte) : 고정 길이 문자열, varchar(byte) : 가변 길이 문자열, numeric : 정수, 실수등의 숫자 정보, DATETIME : 날짜와 시각 정보
  • 제약조건 : CONSTRAINT라고 하며 데이터의 무결성을 유지하기 위한 데이터베이스의 보편적인 방법이다. 테이블의 특정 컬럼에 설정한다.
    - PRIMARY KEY : 기본키이며 하나의 테이블에 하나의 키만 정의 가능. 유니크하다.
    • UNIQUE KEY : 고유키이며 행 데이터를 고유하게 식별하기 위한 키이다. null은 고유키 제약의 대상이 아니다.
    • NOT NULL : null 값의 입력을 금지한다.
    • CHECK : 입력값의 범위를 제한한다.
    • FOREIGN KEY : 외래키이며 다른 테이블과의 관계를 정의하기 위해 다른 테이블의 키를 기본키로 복사한다.
  • 테이블 생성 규칙 : 중복 금지, 한테이블내에서 컬럼 중복 금지, 테이블명과 컬럼명은 반드시 문자로 시작, 예약어 사용 금지, 문자와 숫자 그리고 _$#만 허용, DATETIME 유형은 크기 지정 안함, 문자 데이터 유형은 최대 길이 표시, 컬럼의 제약조건은 CONSTRAINT를 이용해서 추가
  • DROP, TRUNCATE, DELETE의 차이점 :
    1. 종류 : DDL, DDL, DML
    1. 커밋 : 자동, 자동, 사용자 정의
    2. 롤백 : 불가, 불가, 커밋전에 가능
    3. 스토리지 : 싹다 삭제, 최초테이블만 남김, 스토리지 삭제 안됌
    4. 로그 : 안남음, 안남음, 남음
    5. 속도 : 빠름, 빠름, 느림
  • DCL의 문법 :
GRANT : GRANT 권한 TO 유저
REVOKE : REVOKE 권한 FROM 유저
  • TCL의 문법 :
COMMIT : COMMIT
ROLLBACK : ROLLBACK
SAVEPOINT : SAVEPOINT 별칭명
  • 트랜잭션 : 디비의 논리적 연산단위. 분리될 수 없는 하나 이상의 디비 조작. 하나 이상의 sql문 포함. 분할 불가한 최소의 단위이므로 전부 적용 또는 취소
  • 트랜잭션의 특징 : 원자성(전부 적용 or 전부 취소), 일관성(트랜잭션 실행 전 디비 내용이 문제가 없다면 트랜잭션 후에도 디비 내용이 문제가 없어야 한다.), 고립성(트랜잭션 실행중에 다른 트랜잭션의 영향을 받으면 안된다), 지속성(트랜잭션이 성공하면 그 내용은 영구 저장)

0개의 댓글