SQL

mingggkeee·2022년 3월 15일
0

RDBMS

  • 관계형 데이터베이스 시스템
  • 테이블기반의 DBMS
    • 데이터를 테이블 단위로 관리
      • 하나의 테이블은 여러 개의 컬럼으로 구성된다.
    • 중복 데이터를 최소화
      • 정규화
    • 여러 테이블에 분산되어 있는 데이터를 검색시 테이블 간의 관계를 이용해 필요한 데이터 검색

SQL(Structured Query Language)

  • DB에 있는 정보를 사용할 수 있도록 지원하는 언어
  • 모든 DBMS에서 사용 가능
  • 대소문자 구별 X(데이터의 대소문자는 구분)
  • DCL, DML, DDL로 구분

DDL(Data Definition Language) 데이터 정의어

  • 데이터베이스 객체의 구조 정의
  • 테이블 생성, 컬럼추가, 타입변경, 제약조건 지정, 수정 등등
SQL문설명
create데이터베이스 객체 생성
drop데이터베이스 객체 삭제
alter기존에 존재하는 데이터베이스 객체 수정

Create(데이터베이스 생성)

create database 데이터베이스이름;

Alter(데이터베이스 변경)

alter database 데이터베이스이름;

Drop(데이터베이스 삭제)

drop database 데이터베이스이름;

Use(데이터베이스 사용)

use 데이터베이스이름;

table 생성

create table 테이블이름(
column_name1 Type [optional attributes],
column_name2 Type,
...
column_nameN Type,
);

Option attributes

  • NOT NULL : 각 행은 해당 열의 값을 포함해야 한다. (NULL값 허용 X)
  • DEFAULT value : 값이 전달되지 않을 때 추가되는 기본값 설정
  • UNSIGNED : TYPE이 숫자인 경우에만 해당, 숫자가 0 or 양수로 제한
  • AUTO INCREMENT : 새 레코드가 추가 될 때마다 필드 값을 자동으로 1씩 증가시킴
  • PRIMARY KEY : 테이블에서 행을 고유하게 식별하기 위해 사용

DML(Data Manipulation Langauge) 데이터 조작어

  • DATA 조작기능
  • 테이블 레코드를 CRUD(Create, Read, Update, Delete)
SQL문설명
insert(C)데이터베이스 객체에 데이터 입력
select(R)데이터베이스 객체에서 데이터 조회
update(U)데이터베이스 객체의 데이터 수정
delete(D)데이터베이스 객체의 데이터 삭제

Insert

INSERT INTO 테이블이름
VALUES(col_val1, col_val2, col_val3 ...);

  • NULL이 허용된 컬럼, DEFAULT가 설정된 컬럼, AUTO INCREMENT가 설정된 컬럼은 생략 가능

Update

UPDATE 테이블이름
SET col_name1 = col_val1, col_name2 = col_val2, ... col_nameN = col_valN
WHERE 조건;

  • where절을 생략하면 모든 데이터가 바뀜

Delete

DELETE from 테이블이름
WHERE 조건;

  • where절을 생략하면 모든 데이터가 삭제됨

Select

SELECT * | { ALL | DISTINCT} column | expression [alias], ... }
FROM 테이블이름
WHERE 조건; (WHERE절은 필수가 아님)

select cluase설명
*FROM 절에 나열된 테이블에서 모든 열 선택
ALL선택된 모든 행 반환, ALL이 디폴트
DISTINCT선택된 모든 행 중 중복 행 제거
columnFROM 절에 나열된 테이블에서 지정된 열을 선택
expression표현식은 값으로 인식되는 하나 이상의 값, 연산자 및 SQL함수의 조합
alias(as)별칭

DCL(Data Control Language) 데이터 제어어

  • DB, Table의 접근권한이나 CRUD 권한을 정의
  • 특정 사용자에게 테이블의 검색권한 부여/금지
SQL문설명
Grant데이터베이스 객체에 권한 부여
Revoke데이터베이스 객체 권한 취소

TCL(Transaction Control Language) 트랜잭션 제어어

  • transaction : 데이터베이스의 논리적 연산 단위
SQL문설명
commit실행한 쿼리를 최종적으로 적용
rollback실행한 쿼리를 마지막 commit 전으로 데이터를 복구
profile
만반잘부

0개의 댓글

관련 채용 정보