본문 바로가기

Database/sql 강의

sql 독학 강의# 개념 파악 및 공부법 안내 1편 -sTricky

sql 독학 강의# 개념 파악 및 공부법 안내

컨텐츠 index
1. SQL 명령어 종류
  1) DDL 명령어와 예문
  2) DML 명령어와 예문
  3) DCL 명령어와 예문
2. SQL 공부 요령
  1) 문법을 공부하는 방법
  2) 직접 SQL을 작성, 실행하며 공부하는 방법
  3) 누군가의 SQL을 훔쳐보자
  4) 데이터베이스에 관해서 이해하자
  5) 함수 사용법 익히기

안녕하세요.

 

SQL 공부 강의를 시작합니다. SQL 공부 강의는 꼭 한번 해보고 싶었던 것인데, 드디어 시작하게 되었습니다. 이번 기회를 통해서 완벽하게 SQL을 배우실수 있도록 최선을 다해 강좌를 준비하겠습니다.

 

우선 SQL은 무엇일까요?

 

 

SQL이란 데이터베이스의 언어입니다. 관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 언어 입니다. 조금 더 쉽게 이야기한다면 사용자가 필요하고 원하는 것을 RDBMS에게 요청(쿼리)을 하는 걸 이야기합니다. 

 

사용자가 원하는 것을 정확하게 표현해서 이야기해야 데이터베이스도 쿼리에 알맞은 정확한 답변을 내놓을 수 있겠죠. 그러려면 정확하게 데이터베이스에 질의(쿼리) 하는 방법을 알아야 합니다. 이번 sql 완벽 강좌를 통해서 쉽고 정확하게 배우실 수 있도록 제가 도와 드리겠습니다.

 

RDBMS에는 여러 가지 종류가 있습니다. 이걸 다 따로따로 공부해야 하나요? 하지만, 너무 겁먹을 필요 없습니다. SQL은 몇 가지 개념만 완벽하게 이해하신다면 오라클은 물론이고, 그 어떤 RDBMS에서도 능숙하게 사용할 수 있습니다.

 

각각의 RDBMS (oracle, mysql, mariadb, ms-sql, postgresql, greenplum 등등)가 있지만 그중에 하나의 데이터베이스를 골라 SQL을 공부하시면 됩니다. 그렇게 하나만 제대로 배워두시면 나머지는 약간씩 다른 문법이나 사용법을 숙지하시면 큰 틀 안에서 SQL을 활용하는 데는 무리가 없습니다.

 

마치, 우리가 아반떼로 운전을 배웠는데, 갑자기 그랜저, K7, 1톤 포터 등을 운전하게 되더라도 약간의 다른 사용법만 숙지한다면 다른 차량을 운전을 하는데 큰 문제가 없는 것처럼 말입니다.

 

이렇게 SQL을 잘 활용하시게 되면 요즘 흔히 이야기 하는 BIG DATA 시대에 많은 도움이 됩니다. 데이터 분석이나 전처리를 하는 방법이 지금은 많이 소개되고 다양한 툴을 이용하고 있지만, 아직까지 SQL을 통해서 데이터를 전처리 하고, 간단한 분석을 할 수 있기 때문 입니다. 저도 요즘 파이썬을 이용한 데이터 분석을 공부하고 있지만 아직까지는 SQL을 통해서 더 많은 것을 할 수 있습니다. 물론 아직 저의 파이썬 스킬이 높지 않아서 이겠지만, 충분히 어느정도의 수준의 데이터 전처리를 SQL을 통해서 할 수 있습니다.

 

 

제가 강의를 진행하는 동안에는 oracle과 mysql을 기본적으로 이용하겠지만 ANSI SQL 문법을 토대로 강의를 진행하여 다른 데이터베이스를 사용하시더라도 진행에 무리가 없도록 하겠습니다.

 

#ANSI SQL이란

1986년 SQL-86의 명칭으로 ANSI에 의해 최초로 표준화된 SQL문법을 말하며, ANSI 표준으로 작성된 SQL은 모든 데이터베이스에서 호환된다. 기본적인 데이터 조회 구문은 ANSI SQL을 이용해서 작성이 가능하나, 특정 DBMS에서만 제공하는 함수를 사용하는 경우에는 데이터 조회가 불가능하다.

 

다시 한번 말씀드리지만 너무 겁먹을 필요 없습니다. SQL에 대한 몇 가지 기본적인 용어와 개념 파악만 하면 조금 더 SQL에 가까이 다가갈 수 있습니다.

 

 

sTricky의 SQL 기본 강의는 아래와 같이 진행됩니다.

 

 

0. SQL 기본 개념

1. SELECT 문장을 이용하여 원하는 데이터 출력하기

2. 단일 행 함수 사용하기

3. 복수 행 함수 사용하기 (그룹 함수)

4. JOIN 하여 데이터 출력하기

5. Sub Query (서브 쿼리)

6. DML 사용하기

7. DDL 문장 사용하기

8. 데이터 딕셔너리 활용하기 (Data Dictionary)

9. 제약조건 관리하기

10. 인덱스 활용하기

11. View 활용하기

12. Sequence와 Synonym 활용하기

13. 계층형 쿼리 사용하기

14. User 관리하기

15. 엑셀을 이용해서 SQL문 작성하기

 

이번 시간은 첫 시간이니 만큼 SQL에 대해서 아주 기본적인 내용들을 알아보는 시간을 가져보도록 하겠습니다.

 

천천히 한 발 한 발 나가봅시다!!

 

그럼 렛츠 기릿!!!!

 


SQL 기본 개념

1. SQL 명령어 종류

SQL 명령어는 아래 3가지로 분류됩니다.

* DDL - Data Definition Language (데이터 정의 언어)

* DML - Data Manipulation Language (데이터 조작 언어)

* DCL - Data Control Language (데이터 제어 언어)

 

그럼 각각의 SQL 명령어 종류 에는 어떤 SQL 명령어들이 포함되어 있는지와 간단한 예문도 함께 확인해보겠습니다.

 

1) DDL의 명령어와 예문

CREATE

데이터베이스 내 개체 (테이블, 인덱스 제약조건, 프로시저, 펑션 등)을 생성 할 때

DROP

데이터베이스내 개체를 삭제할 때

ALTER

데이터베이스 내 개체의 속성 및 정의를 변경할 때

RENAME

데이터베이스내 개체의 이름을 변경 할 때

TRUNCATE

테이블 내 모든 데이터를 빠르게 삭제할 때

#CREATE 예문
CREATE TABLE My_table(
 my_field1 INT,
 my_field2 VARCHAR(50),
 my_field3 DATE NOT NULL,
 PRIMARY KEY (my_field1, my_field2)
);

#ALTER 예문
ALTER TABLE My_table ADD my_field4 NUMBER(3) NOT NULL;

#DROP 예문
DROP TABLE My_table;

#TRUNCATE 예문
TRUNCATE TABLE My_table;

#RENAME 예문
ALTER TABLE WEX001H RENAME TO TMP_WEX001H_20171029175532;

 

 

2) DML의 명령어와 예문

INSERT

특정 테이블에 데이터를 신규로 삽입할 때

UPDATE

특정 테이블 내 데이터의 전체, 또는 일부를 새로운 값으로 갱신 할 때

DELETE

특정 테이블 내 데이터의 전체, 또는 일부를 삭제 할 때

SELECT

특정 테이블내 데이터의 전체 또는 일부를 획득할 때

#INSERT 예문1 (특정 컬럼을 선택하여 입력시)
INSERT INTO 테이블명(COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
#INSERT 예문2 (테이블내 모든 컬럼에 값을 입력)
INSERT INTO 테이블명 VALUES (COLUMN에 넣을 VALUE_LIST);

#UPDATE 예문
UPDATE 테이블명 SET 컬럼명 = '갱신할 값' WHERE... ;

#DELETE 예문
DELETE FROM 테이블명 WHERE... ;

#SELECT 예문
SELECT 컬럼리스트 FROM 테이블명 WHERE... ;

3) DCL의 명령어와 예문

GRANT

데이터베이스 사용자에게 특정 작업의 수행 권한을 부여할 때

REVOKE

데이터베이스 사용자에게 부여권 수행 권한을 박탈할 때

SET TRANSACTION

트랜잭션 모드로 설정 할 때

BEGIN

트랜잭션의 시작을 의미

COMMIT

트랜잭션을 실행 할 때

ROLLBACK

트랜잭션을 취소 할 때

SAVEPOINT

롤백 지점을 설정 할 때

LOCK

테이블 자원을 점유 할 때
#GRANT 예문
GRANT SELECT ON SCOTT.EMP TO EXPERT

#REVOKE 예문
REVOKE 뻇을권한 ON 객체이름 FROM 누구

DCL의 다른 명령어들은 단독으로 사용되는 경우가 많습니다.

 

위에서 열거 한대로 DDL, DML, DCL에 대해서 명령어들을 분류하고 확인해봤습니다.

 

몇몇 명령어들을 제외하면 명령어를 사용하기 위해서는 명령어를 제일 앞에 두고 명령이 시작한다는 걸 알 수 있었습니다.

 

각 명령어 별 문법을 숙지하여 사용할 수 있어야 합니다.

 

 

2. SQL 공부 요령

SQL을 공부하기 위해서 위에서 다룬 명령어도 잘 알아야 하겠지만 명령어를 문법에 맞게 잘 사용하는 것이 중요합니다.

 

SQL 문법을 공부하는 방법은 아래와 같습니다.

 

1) 문법을 공부하는 방법

책이나 온라인 강좌를 통해서 문법 자체를 공부하는 방법 입니다. 시중에 보면 많은 SQL 책들이 있습니다. 이중 하나를 골라 해당 문법을 순서대로 익히시는 방법이 있습니다. 또한 구글 검색을 통해서 필요한 명령어에 대한 문법을 찾아서 공부 하는 방법이 있습니다.

 

2) 직접 SQL을 작성, 실행하며 공부하는 방법

제가 추천하는 방법입니다. 하나하나씩 SQL 명령어를 데이터베이스에 직접 실행해보면서 다양한 케이스로 응용해보는 방법입니다. 이렇게 데이터베이스 명령어를 다양한 케이스로 연습을 하다 보면 간단한 SQL 명령어 문법을 금방 익히실 수 있습니다.

 

3) 누군가의 SQL을 훔쳐보자

다른 사람들이 작성한 SQL과 데이터를 나만의 연습용 데이터베이스에 넣고 SQL을 실행해보고 나오는 결과와 SQL 구문을 하나하나 확인해 보는 겁니다. "왜 이렇게 결과가 나왔을까?", "어떤 테이블이 어떤 테이블과 어떻게 Join 되었을까?" 이런 궁금증을 가지고 한 땀 한 땀 확인해보는 방법입니다.

 

4) 데이터베이스에 관해서 이해하자

데이터베이스 자체를 잘 모른다면 SQL을 잘하더라도 활용하는 데는 문제가 생길 수 있습니다. 관계형 데이터베이스에 대해 배경 지식을 공부한다면 SQL 문법을 공부하는 데 있어서 큰 도움이 될 수 있습니다.

 

5) 함수 사용법 익히기

다양한 RDBMS (oracle, mysql, mariadb, ms-sql, postresql, greenplum 등등)는 각각 다양한 함수(function)를 지원합니다. 함수를 잘 사용한다면 SQL을 좀 더 유연하게 작성하는 데 있어서 큰 도움이 됩니다. 하지만 위에서도 언급하였듯이 각각 RDBMS 마다 지원하는 함수가 다르니 내가 사용하는 RDBMS가 어떤 함수를 지원하는지 미리 숙지하면 좋습니다.

 

 


open.kakao.com/o/szfhqYec

 

Database/남/db개발님의 오픈프로필

DB 개발자, DB 개인 CLASS

open.kakao.com

#다음편 보러 가기#

2020/03/19 - [Database/sql 강의] - sql 공부 강의 # select를 잘 이용하는 방법(1), 2편 -sTricky

 

sql 공부 강의 # select를 잘 이용하는 방법(1), 2편 -sTricky

sql 공부 강의 # select를 잘 이용하는 방법(1), 2편 컨텐츠 index 1. SQL select 문장을 사용하기 위한 용어 정리 2.DESC 사용하기 3. 원하는 데이터만 select 하기 4. 표현식 (Expression) 사용하기 5. 컬럼명..

stricky.tistory.com

 

 

 

우선 오늘은 첫 시간이니만큼 SQL이란 무엇이지, 어떻게 공부하면 되는지에 대해서 써보았습니다.

 

다음 포스팅부터 위에 제가 올린 커리큘럼 내용대로 하나하나씩 SQL 공부 강의를 진행해 나가기로 하겠습니다.

 

많은 분들의 성원이 필요합니다. 

 

나중에 SQL을 주제로 오프라인 수업도 계획 중입니다.

 

최대한 이 글을 보시는 분들이 느끼시기에 알차고, 쉽게 이해하실 수 있도록 강좌를 진행해보겠습니다.

 

감사합니다.

 

 

 

by.sTricky