SQL 이란?
- Structured Query Language의 약어이다.
- 데이터 베이스의 데이터를 관리하기 위해 만들어진 프로그래밍 언어이다.
- 데이터 베이스에선 쿼리를 이용하여 데이터를 삽입,삭제, 갱신한다.
- SQL에서 데이터 베이스에게 뭔가 요청하는 것을 Query, 문의라 하는데 요청하는 모든 명령어를 쿼리 라 한다.
- 쿼리의 종류로는 DML,DCL,DDL이 존재한다.
쿼리의 종류
1. DDL
- Data define languege의 약어로 직역하면 데이터를 정의하는 언어다.
- 주로 생성, 변경, 삭제 등 데이터 구조와 관련된 명령어이다.
- CREATE, ALTER,DROP 등이 이에 속한다.
2. DML
- data manipulation languege의 약어로 데이터 조회, 변경을 하는 명령어들을 말한다.
- SELECT, INSERT,UPDATE,DELETE가 이에 속한다.
3. DCL
- data control languege로 데이터베이스에 접근하고 객체를 사용하게 권한을 주는 명령어들을 말한다.
- GRANT, REVOKE가 이에 속한다.
쉽게 설명하기 위해 member 라는 테이블이 존재하며, 값은 다음과 같다고 예를 들어보자.
ID | 이름 | 가입일 |
aa | 김철수 | 2019-09-10 |
bb | 비타민 | 2019-09-20 |
cc | 홍길동 | 2019-10-01 |
- DML 쿼리문을 통해 해당 member 테이블에서 SELECT, INSERT, DELETE,UPDATE문을 이용해 데이터를 검색, 삽입, 삭제, 변경 할 수 있다.
- 사용법은 아래와 같다.
1. SELECT
형식 : SELECT 필드명 FROM 테이블명 WHERE 조건;
EX ) SELECT * FROM member WHERE id = 'aa';
-> member라는 테이블에서 id가 aa인 모든 필드값을 검색해라.
결과
ID | 이름 | 가입일 |
aa | 김철수 | 2019-09-10 |
이런 문법을 사용하여 DB에서 원하는 정보를 검색할 수 있다.
여기서 테이블명은 해당 DB의 테이블 자체를 말하는 것이고 필드는 해당 속성이라 말할 수 있다.
쉽게 말해 '사람'이라는 테이블 안에 '키','몸무게','나이' 등등의 속성이라 생각하면 쉽다.
여기서 * 의 의미는 속성을 정하지 않고 모든 속성이라는 의미이다.
* 만약 SELECT * 이 아니라 '이름'이라는 속성이 들어갔을 경우 테이블중 id가 aa에 속하는 데이터중, 이름 속성만 출력한다.
이름 |
김철수 |
2. INSERT
형식 : INSERT INTO member(id, 이름) VALUES('test','강아지');
EX) INSERT INTO 테이블명(필드명1,2) VALUES(값1,값2);
해당 테이블에서 원하는 속성의 값들 중, 필드에 맞게 값1,2를 삽입하는 쿼리문이다.
결과
ID | 이름 | 가입일 |
aa | 김철수 | 2019-09-10 |
bb | 비타민 | 2019-09-20 |
cc | 홍길동 | 2019-10-01 |
test | 강아지 |
3. UPDATE
형식 : update 테이블 명 SET 필드명 = 값 WHERE 조건;
EX)update member set id = 'GG' where 이름='비타민';
결과
ID | 이름 | 가입일 |
aa | 김철수 | 2019-09-10 |
GG | 비타민 | 2019-09-20 |
cc | 홍길동 | 2019-10-01 |
test | 강아지 |
이는 해당 테이블의 필드중 '값'을 조건에 맞는걸 찾아 수정해주는 쿼리문이다.
만약 WHERE문, 조건을 쓰지 않으면 해당 테이블의 모든 필드 값이 변경되므로 주의해야 한다.
4. DELETE
형식 : DELETE FROM 테이블명 WHERE 조건;
EX)DELETE FROM member where id = 'test';
결과
ID | 이름 | 가입일 |
aa | 김철수 | 2019-09-10 |
GG | 비타민 | 2019-09-20 |
cc | 홍길동 | 2019-10-01 |
UPDATE와 같이 조건을 쓰지 않으면 해당 테이블에 존재하는 데이터가 전부 삭제된다.
조건에 맟는 데이터를 해당 테이블에서 삭제하는 쿼리문이다.
'CS > DB' 카테고리의 다른 글
하둡 이란? (0) | 2019.09.16 |
---|---|
DB[데이터 베이스] 란? (0) | 2019.09.16 |
Mesos 란 무엇인가 (0) | 2019.09.02 |
KAFKA 란? (0) | 2019.09.02 |