반응형
[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편)
반응형
'SQL' 카테고리의 다른 글
[SQL] LIKE 검색, NULL 함수, GROUP BY - HAVING (간단한 설명) (0) | 2022.04.14 |
---|---|
[SQL] JOIN 개념 및 종류, VIEW(뷰), SELECT INTO, INSERT INTO SELECT, CASE ... WHEN ... END (0) | 2022.04.11 |
[SQL] DBMS, SQL 기초 (간단한 설명) (0) | 2022.03.31 |
[SQL] JOIN 알기 쉽게 설명 (INNER, LEFT/RIGHT/FULL OUTER) (0) | 2022.02.04 |
[SQL] 기본 문법 간단한 정리 (SHOW, USE, DESCRIBE 등) (0) | 2022.02.03 |