SQL은 'Structured Query Language'로 데이터베이스에서 데이터를 다루는데 사용되는 언어이다.
대부분의 데이터베이스 시스템에서 SQL 언어를 지원한다.
오라클에서 제공하는 OracleDB, MySQL이나 MS에서 제공하는 MSSQL 등 여러 DBMS에따라 차이가 존재하긴 하다.
우리는 오픈소스로 제공하는 MySQL의 무료버전을 이용해 쿼리를 간단하게 배운다.
Docker 컨테이너 위에 실행되는 서버에서 MySQL을 위한 GUI 가이드 시스템인 MySQL Workbench를 이용하기로 한다.
WSL이나 VMWare 등 가상시스템을 사용해본 사람이라면 Windows 사용자 중 WSL, hyperV 기능이 꺼져있는 경우가 있을 수 있는데,
도커를 실행할 때 'docker desktop - unexpected wsl error'를 마주할 수 있다.
위 기능을 키고 각자 부팅 시 바이오스 설정에서 가상설정을 활성화해줘야 한다.
내 PC는 AMD사의 CPU 사용으로 SVM Mode를 활성화했다.
CRUD의 기능을 가지는 명령어 집합은 DDL, DML, DCL, TCL로 나뉜다.
Data Definition Language
데이터를 정의하는데 사용되는 명령어이다.
명령어 기능 CREATE 테이블 생성 ALTER 테이블 구조 변경 DROP 테이블 삭제 RENAME 테이블 이름 변경 COMMENT 테이블 및 컬럼 주석 추가 TRUNCATE 데이터 초기화
Data Manipulation Language
데이터를 조작하는데 사용되는 명령어.
명령어 기능 SELECT 데이터를 조회 INSERT 데이터 삽입 UPDATE 데이터 업데이트 DELETE 데이터 삭제
Data Control Language
데이터를 제어하는데 사용되는 명령어.
명령어 기능 GRANT 특정 사용자에게 권한 부여 REVOKE 특정 사용자의 권한 회수 COMMIT 트랜잭션의 작업이 정상적으로 완료 ROLLBACK 트랜잭션 작업이 비정상적으로 종료, 원복
DCL에서 COMMIT 명령어와 ROLLBACK (+SAVEPOINT) 명령어는 TCL(Transaction Control Language)로 분류하는 경우도 있다.