SQL

[SQL] SQL, CRUD 기초 (간단한 설명)

15호의 개발자 2022. 4. 7. 21:04
반응형

[SQL] SQL, CRUD 기초 (간단한 설명)

 


 

SQL (Structured Query Language)

  • 데이터베이스에 있는 필요한 정보를 사용할 수 있도록 도와주는 언어
  • 사용방법이나 문법이 다른 언어(Java, C, C#, VB 등)보다 단순하다.
  • 하나를 배워두면 모든 DBMS에서 사용 가능하다.
  • 인터프리터 방식이다.
  • 대소문자를 구별하지 않는다. (Case Insensitive)
    - 단, 데이터 내용은 대소문자를 구별한다. (Case Sensitive)

 

 

 

SQL의 종류

  • DML (Data Manipulation Language, 데이터 조작 언어)
    • 테이블의 데이터를 조작하는 기능
    • 테이블의 레코드를 CRUD
      • INSERT (데이터베이스 객체에 데이터를 입력한다.)
      • DELETE (데이터베이스 객체에 데이터를 삭제한다.)
      • UPDATE (데이터베이스 객체 안의 데이터를 수정한다.)
  • DDL (Data Definition Language, 데이터 정의 언어)
    • DB, 테이블의 스키마를 정의 및 수정하는 기능
    • 테이블 생성, 컬럼 추가, 타입 변경, 각종 제약 조건 지정 및 수정
      • CREATE (데이터베이스 객체를 생성한다.)
      • DROP (데이터베이스 객체를 삭제한다.)
      • ALTER (기존에 존재하는 데이터베이스 객체를 다시 정의한다.)
  • DCL (Data Control Language, 데이터 제어 언어)
    • DB나 테이블의 접근 권한이나 CRUD 권한을 정의하는 기능
    • 특정 사용자에게 테이블의 조회 권한 허가/금지
      • GRANT (데이터베이스 객체에 권한을 부여한다.)
      • REVOKE (이미 부여된 데이터베이스 객체 권한을 취소한다.)

 

 

 

CRUD

 

cf. CRUD 대신 사용되는 유사 용어

ABCD
- Add(추가), Browse(보기), Change(변경), Delete(삭제)

ACID
- Add(추가), Change(변경), Inquire(질의), Delete(삭제)

BREAD
- Browse(보기), Read(읽기), Edit(편집), Add(추가), Delete(삭제)

VADE(R)
- View(참조), Add(추가), Delete(삭제), Edit(편집)
- 트랜잭션 처리에서는 Restore(복원) 추가

 

 

CRUD 각 문자와 대응되는 표준 SQL문

이름 조작 SQL
Create 생성 INSERT
Read (또는 Retrieve) 읽기 (또는 인출) SELECT
Update 갱신 UPDATE
Delete (또는 Destroy) 삭제 (또는 파괴) DELETE

 

 

 

기타 유용한 SQL문

 

DISTINCT

- SELECT문의 결과값에서 특정 컬럼만 출력할 경우 중복된 값들을 제거해서 표시하는 기능

SELECT DISTINCT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건절

 

 

AND, OR, NOT (논리 연산자)

- SELECT문의 조건절에 논리 조건을 적용하는 연산자

- WHERE절 이후에 사용한다.

- NOT은 != 와 같다.

SELECT * FROM 테이블명 WHERE (NOT) 조건1 AND/OR (NOT) 조건2 ...

 

 

IN, BETWEEN (논리 연산자)

- IN은 OR과 같고, BETWEEN은 a AND b와 같다고 보면 된다.

 

 

ORDER BY (결과값 정렬)

- SELECT문의 결과값을 특정한 컬럼을 기준으로 오름차순/내림차순으로 정렬해서 표시한다.

- 기본값은 오름차순 정렬이다.

SELECT * FROM 테이블명 WHERE 조건절 ORDER BY 컬럼명 ASC/DESC, ...

 

 

LIMIT, ROWNUM, TOP (결과값 일부 조회)

- SQL 쿼리 결과 중 상위 몇 개만 보여주는 쿼리

- 이 기능은 SQL에서 표준이 없는 대표적인 비표준기능으로 DBMS 종류에 따라 문법이 조금씩 다르다.

- MySQL에서는 LIMIT를, Oracle에서는 ROWNUM, SQL Server에서는 TOP을 사용한다.

SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건절 LIMIT 숫자

 

 

집합함수 (Aggregation Function)

- 테이블의 전체 레코드를 대상으로 특정 컬럼을 적용해서 한 개의 값을 리턴하는 함수이다.

- COUNT(), AVG(), SUM(), MIN(), MAX(), FIRST(), LAST(), ...

- 쿼리의 결괏값에서 결괏값의 라인 수(줄 수)만을 알고 싶을 때는 COUNT() 함수를 사용한다.

SELECT aggregation_function(컬럼명) FROM 테이블명 WHERE 조건절;

 

 

유용한 함수들

- LENGTH(): 레코드의 문자열 컬럼의 글자 수를 리턴한다.

- MID(): 문자열의 중간 부분을 리턴한다.

- UPPER(), LOWER(): 문자열을 대문자 또는 소문자로 리턴한다.

- ROUND(): 레코드의 숫자 컬럼값을 반올림해서 리턴한다.

 

 

 

 

(출처: 실습과 함께하는! 데이터베이스 MySQL편)

반응형