[혼공SQL] 혼자 공부하는 SQL 1주차

Martinita·2025년 7월 11일
0


지난 겨울 혼공학습단 13기를 통해서 혼공R을 완주했다. 이번에는 14기로 혼공SQL을 시작하게 되었다. 사실 SQL에 대해서는 잘 몰랐지만, 국제기구에서 일하면서 대량의 데이터를 편하고 효율적으로 관리하기 위해서 배울 필요성을 느끼게 되었다.

하지만, 해외 학회 참석 일정으로 1주차는 지각을 해버리고 1-2주차를 한꺼번에 공부하게 되었다. 그래도 남은 6주 간 최선을 다해보자!

1주차: Chapter 1 ~ 2

> 시작 및 주요 개념

  • 데이터 베이스(DB): 데이터의 집합

  • DBMS: 데이터베이스를 관리하는 소프트웨어 (Database Management System) *엑셀은 DBMS가 아님! 대용량 데이터를 관리하거나 여러 사용자와 공유하는 게 아니기 때문.

  • DBMS의 종류에는 MYSQL, SQL서버, 오라클, MariaDB 등이 있음. 이 중에서 MYSQL은 오픈소스이고 상용화가 많이 되어 있음. * 상용시장 점유율 1위는 오라클임. 그치만 오픈소스는 MYSQL!

- DBMS의 분류

(1) 계층형(Hierachial): 1960년대 초기 등장한 개념, tree형태의 테이터 구조. -> 처음 구상한 이후에 이를 변경하기가 까다로움. 그래서 지금은 사용X
(2) 망형(network): 이를 해결하기 위해 1970년대에 등장함. TREE 구조 내 하위 구성원들 간에도 연결된 유연한 구조. 그치만, 프로그래머가 모든 구조를 이해해야만 프로그램 작성이 가능한 단점, 그래서 요즘엔 잘 안씀.
(3) 관계형(relational): RDBMS라고도 부름. MYSQL 뿐만 아니라 대부분의 DBMS가 RDBMS형태로 사용됨. 테이블이라는 최소 단위로 구성, 이는 하나 이상의 열과 행으로 이뤄져 있음. 엑셀 표 같은 거임!
-> SQL이란?? RDBMS에서 사용되는 언어로 에스큐엘 OR 시퀄이라고 부름. 이는 데이터베이스 구성 언어이나 일반적인 프로그래밍 언어랑은 다름.
-> SQL은 특정 회사가 개발하는 게 아니라 국제표준화기구에서 SQL 표준을 설정함. 그런데 SQL을 활용하는 DBMS 제작 회사가 상이하기에 표준SQL이 이를 모두 포용하지 못함. 그래서 제품 특성을 반영한 SQL을 사용함. 따라서 대표적인 3대 DBMS (오라클, SQL 서버, MYSQL)은 표준 SQL을 사용함.

  1. 기본 숙제: p.80에서 shop_db 회원 데이터 테이블에서 아이유 회원에 대한 정보만 추출하고 결과 확인하기

    일단 MYSQL을 깔고 SHOW DATABASES를 입력했다. R과 유사하게 잘못 입력하면 ERROR가 하단에 뜬다. 다는 DATABASE로만 적어서 에러가 발생한 거였다.

기본 숙제를 해보자면~~~

아이유를 멤버 이름에서 추출해야하는데, 계속 전체 표가 같이 나왔다.. 무슨일이지.. 일단 그래도 표 만들고 데이터 확인하는 것 까진 했지만. 프롬포트에도 에러는 없는데 왜 아이유만 추출이 안되는지 모르겠다.

※주의 사항

  • SQL은 대소문자를 구분하지 않음. 그리고 SQL의 제일 뒤에는 세미콜론(;)이 항상 있어야 함!
  • 아이유 예제에서 두개의 SQL 결과가 나온 건 SQL 실행 시 쿼리 창에 있는 모든 SQL을 실행하기 때문임. 이번에는 SELECT만 있고 두 줄 이라 큰 문제가 없지만, 향후 여러개 SQL을 활용할때 주의해야함.

P.S. 혼공족장님 늦어서 죄송합니다...ㅜㅜ

0개의 댓글