관계형 데이터베이스를 관리하기 위해 사용하는 인터프리터 언어이다.
1. DML( Data Manipulation Language )
: 테이블의 데이터를 조작(CRUD)하기 위한 언어
// 조건을 만족하는 모든 행의 해당 컬럼값을 반환 - R
SELECT [ DISTINCT ] 컬럼명
FROM 테이블명
[ WHERE 조건 ]
[ GROUP BY 컬럼명 ]
[ HAVING 검색 조건 ]
[ ORDER BY 컬럼명 [ ASEC | DESC ] ] // 컬럼값을 기준으로 정렬
// 해당 테이블에 컬럼값을 갖는 행을 삽입 - C
INSERT INTO 테이블명 [ ( {컬럼명 } ) ]
VALUES( { 값 , ... } );
// 조건을 만족하는 모든 행의 컬럼값을 변경 - U
UPDATE 테이블명
SET { 컬럼명 =값 , ... }
[ WHERE 조건 ];
// 조건을 만족하는 모든 행을 삭제 - D
DELETE FROM 테이블명
[ WHERE 조건 ];
// SELECT 문의 결과를 임시 테이블 형태로 뷰에 저장
CREATE VIEW 뷰 이름 AS SELECT 문;
DROP VIEW 뷰 이름;
// SELECT 문의 결과를 새로운 테이블로 생성
CREATE TABLE 테이블명 AS SELECT 문;
// SELECT 문의 결과를 동일한 구조의 테이블에 삽입
INSERT INTO 테이블명 SELECT 문;
1-1. 연산자
- DISTINCT : 중복된 결과를 제거
- [NOT] IN : alphabet=A OR alphabet=B OR alphabet=C --> alphabet IN ( A, B, C )
- BETWEEN a AND b : size > 0 AND size < 10 --> size BETWEEN 0 AND 10
- LIMIT n : 결과값을 상위 n개만을 반환
- JOIN 기준 테이블명 ON 공통 컬럼 조건 : 공통 컬럼을 기준으로 테이블을 결합
- 컬럼명 AS 표시할 컬럼명 : 결과값으로 표시할 컬럼명을 명시
- CASE { WHEN 조건 THEN 결과 } END :
- LIKE 조건 : 키워드의 일부만으로 검색 ( 와일드카드 : % | _ ) // DBMS 부하가 크다
- IS [NOT] NULL : NULL 값
- HAVING 조건 : GROUP BY에 의해 나타난 결과값에 조건을 부여
1-2. 집계 함수
- count(*) : 결과값의 개수를 반환
- max(컬럼명)/min(컬럼명) : 결과값의 컬럼 중 최대/최소를 반환
- avg(컬럼명)/sum(컬럼명) : 컬럼의 평균/합을 반환
1-3. 문자열 관련 함수
- length(컬럼명) : 해당 문자열 컬럼의 길이를 반환
- mid(컬럼명, 시작 인덱스, 길이) : 해당 컬럼의 문자열을 시작 인덱스에서 길이만큼만을 반환
- upper(컬럼명)/lower(컬럼명) : 해당 컬럼값을 대문자/소문자로 반환
1-4. 숫자 관련 함수
- round(컬럼명,반올림할 소수점 위치) : 컬럼값을 반올림하여 반환
- abs(컬럼명) : 컬럼값의 절대값 반환
- sign(컬럼명) : 컬럼값의 부호를 반환
- power(컬럼명,n) : 컬럼값의 n제곱을 반환
- isnull(n) : 컬럼값이 null인 경우 n으로 치환해서 계산
2. DDL( Data Definition Language )
: 테이블을 정의, 수정, 삭제하기 위한 언어
- CREATE TABLE 테이블명 ( { 필드명 필드타입 제약조건 , ... } );
- ALTER TABLE 필드명 ADD | CHANGE | RENAME | ALTER | MODIFY [ ... ];
- DROP TABLE 테이블명;
2-1. 자료형
- BIT(길이) : 0과 1로 표현되는 바이너리 값
- TINYINT(길이) : 1바이트 정수
- SMALLINT(길이) : 2바이트 정수
- MIDIUMINT(길이) : 3바이트 정수
- INT(길이) : 4바이트 정수
- BIGINT(길이) : 8바이트 정수
- FLOAT(최소비트수) : 4바이트 부동소수점 방식의 실수
- DOUBLE(최소비트수) : 8바이트 부동소수점 방식의 실수
- DECIMAL(길이,소수점자리수) : 고정소수점 방식의 실수
- CHAR(길이) : 고정 문자열 , '\n' 문자 미포함 , 0~255
- VARCHAR(최대길이) : 가변 문자열 ( 내용에 맞게 크기가 정해진다 ) , '\n' 문자 포함 , 0~65535
- ENUM({ '값1' , ... }) : 문자열을 정수로 치환해서 사용 , 0~65535
- DATE : YYYY-MM-DD 형식의 타입, 1000-01-01 ~ 9999-12-31
- DATETIME : YYYY-MM-DD hh:mm:ss 형식의 타입, '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'
- TIMESTAMP : 현재 날짜와 시간을 기본값으로 갖는 타입, '1970-01-01 00:00:01' ~ '2038-01-19 03:14:07'
- TIME : hh:mm:ss 형식의 타입, '-838:59:59' ~ '838:59:59'- YEAR(길이) : YY 또는 YYYY 형식의 타입
3. DCL( Data Control Language )
: 테이블의 데이터 조작에 대한 권한을 부여하고 박탈하기 위한 언어
- GRANT 권한 ON 테이블명 TO 유저 정보;
- REVOKE 권한 ON 테이블명 TO 유저 정보;
'Database' 카테고리의 다른 글
무결성 제약조건( Integrity constraint ) (0) | 2021.08.29 |
---|---|
정규화( Normalization ) (0) | 2021.08.29 |
데이터베이스( Database ) (0) | 2021.08.29 |
인덱스( Index ) (0) | 2021.08.29 |
데이터베이스 용어 정리 (0) | 2021.08.24 |