헬린코린이
[DB] Database 본문
[DBMS]란
데이터를 관리하는 시스템이라고 한다.
종류에는 오라클, MySQL, MariaDB 등등이 있습니다.
DB를 사용하는 이유는
프로그램을 종료해도 DB가 초기화되지 않도록 하기 위해서입니다.
예를 들어 물건을 하나 샀는데 DB를 사용하지 않았다면 프로그램을 종료하고 다시 살려고 하면 재고는
그대로 일 것입니다.
SQL → DBMS(오라클) → 도구(디비버)
자바 처럼 SQL이라는 언어가 있고
오라클은 JRE라고 생각하면 된다.
도구(디비버)는 JDK(이클립스)라고 생각하면 된다.
그래서 오라클을 공부했다고 다른 것을 쓸 수 없나? 그것은 아니다.
다 똑같은 SQL 언어를 사용하기에 가능하다.
지금은 기초에 대해서만 알아볼 예정이다.
SELECT * FROM USER_TABLES;
-- 주석
-- DDL(데이터 정의어)
-- : 테이블과 관련된 처리를 수행.
-- 테이블(DB,ArrayList) 생성(C)
CREATE TABLE MEMBER(
ID VARCHAR(15) PRIMARY KEY,
PW VARCHAR(20) NOT NULL,
NAME VARCHAR(10) NOT NULL
--필드(칼럼)명 데이터타입 제약조건
);
-- 쿼리 언어 대소문자 구분하지 않아서 대문자로 쓰는 것을 원칙.
--테이블 삭제
DROP TABLE MEMBER;
-- DML(데이터 조작어)
-- : 데이터 한개한개와 관련된 처리를 수행.
-- C
INSERT INTO MEMBER VALUES('admin','1234','관리자');
INSERT INTO MEMBER (ID,PW,NAME) VALUES('hong','1234','홍길동'); --순서를 기억하지 못할 수도 있기에
-- U
UPDATE MEMBER SET PW='4444' WHERE ID='admin'; --조건절(WHERE절)
-- D
DELETE FROM MEMBER WHERE ID='hong';
-- R
SELECT * FROM MEMBER;
SELECT NAME FROM MEMBER;
SELECT ID,NAME FROM MEMBER;
SELECT * FROM MEMBER WHERE ID ='admin';
---------------------------------------------------------
CREATE TABLE PRODUCT(
PNUM INT PRIMARY KEY,
NAME VARCHAR(15) NOT NULL,
CNT INT DEFAULT 10 --difault값
);
SELECT * FROM PRODUCT;
INSERT INTO PRODUCT VALUES(101,'목도리',2);
INSERT INTO PRODUCT (PNUM,NAME) VALUES(102,'장갑');
INSERT INTO PRODUCT (PNUM,NAME) VALUES(103,'장화');
SELECT * FROM PRODUCT WHERE CNT>=6;
SELECT * FROM PRODUCT WHERE NAME ='장갑';
SELECT * FROM PRODUCT WHERE NAME IN('장갑');
SELECT * FROM PRODUCT WHERE NAME !='장갑';
SELECT * FROM PRODUCT WHERE NAME NOT IN('장갑');
SELECT * FROM PRODUCT WHERE NAME LIKE '%장%';
SELECT * FROM PRODUCT ORDER BY PNUM DESC; --ASC
-- 작성 순서이다. 순서를 지키지 않을 시 에러가 발생할 것이다.
SELECT : 테이블에서 필요로 하는 열만 가져오기 가능하고 여러 개의 열을 가져오고 싶을 때는 콤마로 구분합니다.
FROM : 테이블을 가지고오는 절
WHERE : 조회하는 결과에 특정한 조건으로 원하는 데이터만 보고 싶을 때 사용한다.
GROUP BY : 그룹으로 묶어주는 역할이고 읽기 좋게 하기 위해 별칭 AS 사용합니다.
HAVING : WHERE과 비슷한 개념으로 조건 제한 HAVING 절은 반드시 GROUP BY절 다음에 나와야 한다.
ORDER BY : 결과가 출력되는 순서를 조절하는 구문 기본적으로 오름차순으로 정렬한다.
SELECT , FROM , WHERE , GROUP BY , HAVING , ORDER BY 순으로 작성하는데
실행 순서는 FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 순이다.
1. 우선 FROM에서 테이블을 선택하여 데이터 집합을 만든다.
2. 그리고 WHERE으로 FROM에서 만든 데이터 집합을 조건에 맞게 일부를 선택한다.
3. GROUP BY는 WHERE에서 선택된 데이터를 그룹화한다.
4. HAVING은 GROUP BY에서 그룹핑한 데이터 집합을 다시 조건에 맞게 필터링한다.
5. SELECT는 그룹화 및 필터링된 데이터 집합을 집계한다.
6. ORDER BY는 집계한 데이터 집합을 최종적으로 정렬한다.
CREATE TABLE은 새로운 TABLE을 생성하는 것입니다.저는 MEMBER 테이블을 생성했습니다.
INSERT INTO VALUES 는 INSERT INTO MEMBER 이 코드는 멤버 테이블에 값을 넣어준다는 것인데그 값 즉 VALUES() 괄호안에 값을 테이블 생성한 것과 동일하게 넣어주면 됩니다.
UPDATE SET 은 기존에 입력되어 있는 값을 변경하는 구문입니다.
DELETE는 행 단위로 데이터를 삭제하는 구문이고데이터는 지워지지만 테이블 용량은 줄어들지 않습니다.원하는 데이터만 지울 수도 있고삭제 후 잘못 삭제한 것을 되돌릴 수 있습니다.
DROP TABLE 테이블 전체를 삭제, 공간, 객체를 삭제합니다.삭제 후 절대 되돌릴 수 없습니다.