▶데이터베이스 서비스와 개념 설명
● 왜 MySQL 부터 배울까?
- 관계형 데이터 베이스가 1970년에 개발된 이후로 기존의 레거시 기업들은
Oracle 데이터 베이스를 많이 사용하고 있다. 여전히 대기업들은 많이
사용함(금융회사 등)
● 최근 RDB 현황
- 이를 이용한 오픈소스를 기반으로 한 RDB가 등장
(MySQL, Postgresql, SQLite) 하면서 대체되고 있는 상황
- 특히, 1995년 개발된 MySQL은 개인프로젝트에서는 무료로, 현재 점유율이
46.83%로 대중성이 높아 많이 사용되며, Trouble shooting이 유리하다.
Oracle 회사가 2008년 인수.
- 관대한 SQL 언어를 가지고 있다.
(실행순서 뒤여도 select 절의 alias 가져다 쓰기 가능),
반면 Postgresql은 불가능
▶ 클라우드 데이터베이스 종류
● 클라우드 서비스가 필요한 이유
- 같은 데이터베이스를 보는 것은 매우 중요
- 서로 각자의 데이터 베이스를 보고 만들다 보면 미스 커뮤니케이션
확률 up
- 특히 프로젝트 진행시 클라우드 데이터베이스 사용하는 것 권장
(ex. bigquery)
▶MySQL 기본 구조
● MySQL의 기본 명령어
명령어 | 설명 | 구분 |
SELECT, INSERT, UPDATE, DELETE |
데이터 조회, 데이터 삽입, 변경, 삭제 | DML |
CREATE, DROP, ALTER | 테이블 삭제, 수정 | DDL |
GRANT, REVOKE | 테이블 접근권한 관리 | DCL |
SHOW, DESC, DESCRIBE, EXPLAIN | 테이블 조회, 테이블 설명 | 정보 조회 명령어 |
USE | 데이터베이스 선택 | 제어 명령어 |
● 데이터 조작(DML)
- 데이터분석가가 가장 많이 쓰는 SELECT 구문 포함
- 데이터 읽기, 추가, 수정, 삭제 권한
● 데이터 정의 (DDL)
- 테이블 생성, 삭제 하는 등 (CREATE....)
● 데이터 관리(DCL)
- 데이터 권한 자체를 부여하는 권한관리
● 시스템 관리언어
- 데이터베이스 조회, 테이블 속성 조회 ... 등
▶MySQL 시스템 명령어 보기
1. CREATE DATABASE {데이터베이스이름} : 데이터베이스 생성
2. USE {데이터베이스이름} : 특정한 데이터베이스 선택하여 보기
3. SHOW 명령어
- SHOW DATABASE; : 데이터베이스 보기
- SHOW TABLES; : 현재 선택한 데이터베이스의 테이블보기
- SHOW COLUMNS FROM {TABLE NAME} : 특정한 테이블의 컬럼 정보 보기
- SELECT * FROM information_schema.TABLES;
- information_schema : 데이터베이스 메타데이터 제공, 테이블, 컬럼,
인덱스, 사용자 권한 등 관리
* 인덱스는 데이터 베이스의 즐겨찾기이다.
- SELECT * FROM mysql.user;
- MySQL서버의 기본 구성 및 사용자 권한 정보
- SELECT * FROM performance_schema.events_waits_summary_global
_by_event_name;
- SELECT * FROM sys.user_summary;
- sys : performance_schema와 함께 작동하는 뷰와 성능, 운영상태 모니터링
4. DESC {테이블명} : 테이블 설명 보기
'데이터분석 study > SQL' 카테고리의 다른 글
TIL_24.08.01_DDL, DML (0) | 2024.08.01 |
---|---|
TIL_24.07.30_데이터 모델링 (0) | 2024.07.30 |
TIL_24.07.24_MySQL 날짜형/날짜 변환, 가공함수 (0) | 2024.07.24 |
TIL_24.07.16_ <union all, null 치환> (0) | 2024.07.16 |
TIL_24.07.12_다중 테이블 left join (0) | 2024.07.12 |