[LG유레카] JavaScript - DB
데이터베이스(Data Base)
- 체계화된 데이터의 모임
- 여러 사람이 공유하여 사용할 목적으로 통합 , 관리하는 데이터의 집합
DBMS(DataBase Management System)
- 데이터베이스를 관리하는 시스템
- 데이터를 효과적으로 이용하도록 정리, 보관하는 기본 소프트웨어
- 데이터 추가, 조회, 수정, 삭제 등 기능을 집대성한 소프트웨어 패키지
- 기능
- 데이터베이스를 구축하는 틀을 제공
- 효율적으로 데이터를 검색하고 저장하는 기능
- 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스 제공
- 장애에 대한 복구, 보안 유지 기능 제공
- 종류
- Oracle, MySQL, Microsoft SQL, Server,PostgreSQL, MongoDB, IBM DB2 등
DBMS 위치
SELECT 명령문
[형식]
SELECT 컬럼명 From 테이블명;SELECT DEPTNO,DNAME,LOC FROM DEPT;
DEPTNO | DNAME | LOC |
---|---|---|
10 | ACCOUNTING | NEW YORK |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
-
CRUD
SELECT, INSERT, DELETE, UPDATE
SQL
SQL(Structured Query Language (구조적인 질의어))
DDL
-
DDL(Data Definition Language)
데이터 정의어로 데이터 베이스 관리자나 응용프로그래머가 데이터베이스의 논리적인 구조를 정의하기 위한 언어이다.
객체(table,view, trigger)에 대한 정의를 한다.
명령어: CREATE, DROP, ALTER, RENAME, TRUNCATE
DDL은
autocommit
이다.
DML⭐
-
DML(Data Manipulation Language)
데이터 조작어로 데이터베이스에 저장된 데이터를 조작(추가, 삭제, 수정)하기 위해 사용하는 언어이다.
명령어: INSERT, DELETE, UPDATE, SELECT
INSERT
insert into 테이블명 [(컬럼명1, 컬럼명2)] values (데이터1, 데이터2);
insert into 테이블명 [(컬럼명1, 컬럼명2)] values (데이터1, 데이터2),(데이터1, 데이터2);DELETE
delete from 테이블명 where 조건식;
UPDATE
update 테이블명 set 컬럼명1=변경데이터1, 컬럼명2=변경데이터2 where 조건식;
DCL
-
DCL(Data Control Language)
데이터 제어어로 데이터베이스에 대한 접근 권한 부여등의 데이터베이스 시스템의 관리를 목적으로 사용되는 언어이다.
명령어: GRANT(권한부여), REVOKE(권환회수)
DQL
-
DQL(Data Query Language)
데이터 질의어라고하며 검색, 조회 명령어이다.
명령어: SELECT
TCL
-
TCL(Transaction Control Language)
트랜잭션 제어어로 논리적인 (DML) 작업단위의 묶음이다.
명령어: COMMIT,ROLLBACK, SAVEPOINT
-
데이터베이스에 저장된 데이터에 대한 검색(조회)
SELECT 컬럼명 FROM 테이블명;
-
테이블 내의 데이터를 검색
SELECT 컬럼명1, 컬럼명2 FROM 테이블명;
-
dual=> 더미테이블 특정한 테이블을 사용하지 않을 때 from dual을 사용한다.
-
MySQL은 문자, 문자열 데이터를 표현할 때 작은 따옴표, 큰 따옴표를 사용
➡️ 작은 따옴표 권장
-
별칭 사용하기
SELECT 컬럼명 AS 별명 FROM 테이블명;
여기서 AS는 생략 할 수 있다.
트랜잭션(Transaction)
- 데이터 처리의 한 단위
- DB에서 발생하는 여러 개의 SQL 명령문(DML)들을 하나의 논리적인 작업단위로 처리
-
하나의 트랜잭션은 All-or-Nothing방식으로 처리
-
목적
데이터의 일관성을 유지하면서 안정적으로 데이터를 복구
-
명령어
COMMIT ROLLBACK SAVEPOINT
IN 연산자
컬럼명 IN (value_list)
➡️ 컬럼의 값이 value_list에 데이터와 하나라도 일치한다면!(OR 연산자 유사)
문제)
커미션을 300, 500, 1400 받는 사원의 정보(사원번호, 사원명, 부서번호, 커미션)를 출력하시오
NOT 연산자
조건에 만족하지 못하는 행을 검색
위치: 조건식 앞에 사용, in, like, between 앞에 사용, null앞에 사용
그룹함수⭐집계함수
- 전체데이터를 그룹별로 구분하여 통계적인 결과를 구하기 위해 사용
- 결과값은 항상 단행
- 그룹함수와 단순컬럼은 함께 사용하는 것이 불가능
- 만약 그룹함수와 함께 사용하고자하는 컬럼이 그룹으로 묶여질 수 있다면 group by 절과 함께 사용하는 것이 가능
- NULL은 결과값에서 제외
종류
SUM(총합), AVG(평균), COUNT(행갯수), MIN(최소값), MAX(최대값)
형식
그룹함수명(컬럼명)
count를 사용할 떄 값이 null인경우는 count하지 않아서 구분할 수 있는 칼럼을 넣어줘야한다.
➡️서로 다른 행을 구분할 수 있는(중복되지 않는) primary key를 넣어준다. not null과 uniqe 속성을 동시에 가지고있는다.
만약 전체 행의 갯수를 알고 싶은데 테이블명만 안다면
select count(*) from 테이블명;
을 하면 나온다.
댓글남기기