본문 바로가기
데이터 분석/데이터분석 첫걸음

SQL 기초 문법과 데이터베이스 만들기

by 꽃비내린 2020. 4. 19.

1. SQL이란?

Structured Query Language의 앞글자를 딴 것

관계형 데이터베이스 관리 시스템에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어

데이터베이스 스키마 생성 및 수행, 테이블 관리, 데이터 추가/수정/삭제/조회 등 데이터베이스 관련 거의 모든 작업을 위해 사용

 

1-1 데이터 정의 언어(DDL)

스키마*를 정의할 수 있는 언어

*스키마란 테이블을 정의하는 것이다.

1-2 데이터 조작 언어(DML)

CRUD(Create, Read, Update, Delete)를 할 수 있음.

1-3 데이터 제어 언어(DCL)

데이터 핸들링 권한 설정, 데이터 무결성 처리를 수행

 

2. SQL DDL 이해 및 실습

SQL 코드를 입력하고 실행하는데 편리한 툴이 있다. 바로 MySQL Workbench이다. 윈도우 운영체제에선 MySQL을 설치하면 함께 설치되어 따로 추가적인 설치가 필요없다. MySQL Wokrbench를 실행하면 다음과 같은 화면이 뜬다.

 

처음 화면에는 Connections가 없기 때문에 바로 실행하지 못한다. MySQL Connections 오른쪽에 추가 버튼을 선택하면 Setup 팝업창이 뜬다. Connection Name에 원하는 이름을 입력한 후 오른쪽 하단에 'Test Connection'을 눌러 제대로 실행되는지 확인한다. 

 

 

이때 처음 MySQL을 설치했을 때 지정한 Password를 입력해야 한다. Password를 잊어버리면 변경이나 찾기가 불가하니 유의한다. Password를 올바르게 입력하면 아래 오른쪽 화면처럼 성공적으로 연결됐다는 팝업창이 뜬다. OK를 누르면 MySQL Connections가 생성되고 이를 통해 SQL을 작동시킬 수 있다.

 

 

데이터베이스 조회

데이터베이스 안에는 여러 개의 데이터베이스 이름이 존재한다. 각 데이터베이스에는 여러 개의 테이블을 생성할 수 있다. Workbench Connection을 실행하면 아래와 같이 코드 입력창이 뜬다. 현재 DATABASES가 몇 개가 있는지 확인하려면 SHOW 명령어를 입력하고 끝에 세미콜론(;)을 붙인다. 해당 세미콜론을 기준으로 코드줄을 실행하려면 단축키 Ctrl + Enter를 누르면 된다.

*전체 코드줄을 실행하려면 Ctrl + Shift + Enter를 누르면 된다.

SHOW DATABASES;

Result Grid 영역에 현재 데이터베이스들을 보여준다. 여기서 MySQL이 기본적으로 제공하는 데이터베이스는 'information_schema, performance_schema, svs'가 있다. 이 세 가지 데이터베이스는 삭제하지 않도록 유의해야 한다.

 

데이터베이스 생성

데이터를 생성하려면 아래 코드를 입력하면 된다. 데이터베이스를 생성하면 Action Output 영역에 실행 결과를 표시한다. 실행이 잘되면 초록색 아이콘이, 실행에 오류가 나면 빨강색 아이콘이 뜬다. 데이터베이스가 생성됐는지 확인하려면 다시 SHOW 명령어를 입력하면 된다. 아래 오른쪽 이미지처럼 mydata가 생성된 것을 볼 수 있다.

CREATE DATABASE mydata;

 

 

데이터베이스 삭제

데이터베이스를 삭제하려면 DROP 명령어를 쓰면 된다. 데이터베이스가 존재하면 해당 데이터베이스를 삭제가 된다. 아래 오른쪽과 같이 SHOW 명령어를 입력하면 mydata가 없어진 것을 볼 수 있다.

DROP DATABASE mydata;

 

 

[IF EXISTS] 옵션은 해당 데이터베이스가 없더라도 오류를 발생시키지 말라는 의미이다. MySQL은 특정 코드 줄에 오류가 생기면 그 이후 코드는 실행되지 않는다. 만약 데이터베이스 유무와 상관없이 코드 전체를 실행하고 싶다면 [IF EXISTS] 옵션을 넣는 것이 좋다.

 

IF EXISTS 옵션을 넣을 경우 경고메시지만 뜨고 그 이후 코드는 실행된다.

 

※데이터분석 첫걸음은 인프런 강의 <SQL/DB(MySQL) 기본부터 파이썬/데이터분석 활용까지>를 공부하면서 정리한 내용입니다.

'데이터 분석 > 데이터분석 첫걸음' 카테고리의 다른 글

데이터베이스와 RDBMS  (0) 2020.04.18
Jupyter Notebook 사용기  (0) 2020.04.16

댓글