-관계형 데이터베이스(RDMBS)
ex) Oracle, MySQL, MSSQL, PostgreSQL
-NoSQL
ex) MongoDB, Redis, Hbase, Neo4j
DML: 데이터 조작어로 R U D
R: Read > select ~
U: Update > update
D: Delete > delete
DDL: 데이터 정의어 (객체 만드는 것)
C: Create > insert ~
Alter
Drop
DCL: 데이터베이스 제어
select 컬럼이름 from 테이블 명;
(모든 열일 때는 * 표시)
select * from emp; --emp테이블에서 모든 열을 가져와라
select * from dept;
select empno,ename,job from emp; --emp테이블에서 empno,ename,job열을 가져와라
참고로, 예약어와 데이터베이스 객체명은 대소문자를 구별하지 않는다.
desc 테이블 이름;
desc emp;
desc명령으로 테이블에 어떤 열이 정의되어 있는지 알 수 있다.
1) 문자형 데이터
-CHAR(n) : 고정길이 문자 ex) CHAR(10)이면 최대 10문자로 된 문자열 저장 가능
-VARCHAR2(n): 가변길이 문자 / 실제 입력된 데이터 길이에 따라 크기가 변화
2) 숫자형 데이터
-NUMBER(): 가변 숫자
3) 날짜형 데이터
-DATE: 연,월,일,시,분,초 입력 가능
-TIMESTAMP: 연,월,일,시,분,초 + 밀리 초까지 입력 가능
select 컬럼이름 from 테이블 명 where 조건;
select * from emp where JOB != 'MANAGER'; -- emp테이블에서 job이 MANAGER가 아닌 모든 열을 가져와라
~AD를 포함하는 모든(%) 데이터를 조회!
select * from employees where job_id like'AD%';
연결 연산자 : || (열이나 문자열을 다른 열에 연결)
select empno || hiredate as hdate,deptno from emp e;
Null값 여부 : is Null
중복 행 제거: distinct (select 키워드 바로 뒤에 위치)
열 alias
select empno,hiredate as hdate,deptno from emp e;
열 머리글의 이름을 바꾼다. 열 이름 바로 뒤에 나오거나 AS키워드가 올 수 있으며, 공백이나 특수문자를 포함할 경우 큰 따옴표가 필요하다.
논리 연산자: and, or, not
ORDER BY절
asc: 오름차순, 기본값
desc: 내림차순
order by 절은 select문의 맨 마지막에 오며 테이블에 영향을 주지 않는다.
order by a desc, b asc; --asc는 생략 가능