08
26

확실히 테이블로 정보를 적어 놓으니 관리는 편하겠네요. 전 안 입겠습니다.

1. SQL?

  • Structured Query Language를 줄인 말이다.
  • 관계형 데이터 베이스를 다룰 수 있게 되며, MySQL을 설계하며 이를 SQL로 수정하게 된다.

2. Database

  • in memory에 파일을 저장하게 되면 컴퓨터가 꺼지면 사라진다. 그래서 서버에 파일 자체에 저장을 해 놓는다면, 클라이언트가 원하는 정보만 받아 올 수 없고, 모든 정보를 싹 다 가져와야 한다. 그래서 그러한 데이터들을 한 곳에 저장하고 필터링을 해서 필요한 정보만 클라이언트에 주기 위해 만든 것이다.
  • 생긴 모습은 '엑셀'과 같다.

3. SQL과 NoSQL의 미묘한 관계

  • SQL은 관계형 데이터 베이스이다. 그래서 정보를 입력하기 전에 '테이블'에 저장할 데이터의 구조를 짜 놓는다. 그래서 알아보기 편하다.
  • NoSQL은 정보를 입력하기 전이 아닌, 정보를 읽어 올 때 정보에 생김새에 따라 맞는 방식으로 읽어 온다고 생각하면 편하다.
  • 둘 다 각자의 장, 단점이 있다. (속도 적인 측면에서는 NoSQL이 뛰어나기도 하지만, 데이터들의 크기가 크지 않은 경우, 읽어오고 사용하기 복잡한 NoSQL 보다 SQL을 사용한다.)
  • 각각의 상황과 데이터들에 따라 바꿔서 사용한다.

4. MySQL 설치하기.

  1. 우분투를 사용한다면, sudo apt-get update 와 sudo apt-get install mysql-server 로 설치 가능.
  2. 설치가 완료되면 sudo systemctl start mysql로 실행시킨다.
  3. 실행 이후, mysql -u root로 접속한다. 만약 안된다면, sudo mysql -u root로 관리자 권한으로 해보자.
  4. 처음 접속하면 조금 당황스럽다. 커서 앞으로 'mysql>' 이 보이고 엔터를 치면 아래줄로 내려가면서 아무 일도 일어나지 않는다. 잘 실행된 것이니 일단 로그인 비밀번호를 설정해 줄 것이다.
  5. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourPassword'으로 비밀번호를 설정할 것이다. 'yourPassword' 부분에 설정할 비밀번호를 입력해 주자. 이제 이 비밀번호로 접속을 하게 될 것이다.
  6. '\(백 슬레쉬)q'로 접속을 종료할 수 있다. 설정된 비밀번호를 테스트하기 위해 한번 접속을 종료해 보자.
  7. 이제는 mysql -u root -p를 입력해서 접속하자.
  8. 비밀번호를 물어볼 것이다. 잘 입력해주면, 접속이 완료된다.

5. 뭐든지 해 보자!

  • 먼저, 가장 중요하게 알아 두어야 할 것은 ';'이다. 꼭 마지막에 세미콜론을 붙여주자. 안 그러면 계속 줄 바꿈을 하게 된다.
  • 모든 명령은 대문자로 적는다. 투철한 실험 정신으로 소문자로도 적어 보니 작동한다! 하지만 모두 대문자로 적고 있다. 왜 일까..?
  • SHOW DATABASES; 를 입력해 보면 지금 있는 데이터베이스의 목록이 뜬다.
  • 데이터베이스를 만들때는 CREATE DATABASE 데이터베이스 이름; 을 사용한다. 이후 SHOW DATABASES; 로 확인해 주면 되겠다.
  • USE 데이터베이스 이름;으로 데이터베이스를 선택해서 사용할 수 있다.
  • 삭제할 때는 DROP DATABASE 삭제할 데이터 베이스 이름 사용한다.

6. 아주 간단한 연습을 할 때 유용한 명령어

  1. SELECT 필드 이름 : 데이터를 선택한다.
  2. FROM 테이블 이름 : 테이블의 이름 앞에서 어떤 테이블을 받아올지를 정해준다.
  3. UPDATE 테이블 이름 SET 필드 = 값 : 데이터를 수정할 수 있다. 테이블 이름과 필드 이름을 입력해 주어 어떤 데이터를 어떻게 바꿀지 적을 수 있다.
  4. WHERE 필드 이름 조건 : 마치, 필터처럼 작동한다. UPDATE나 SELECT 뒤에 붙어서 특정 값을 만족시키는 데이터만 뽑아낸다.
  5. * : 모든 것. 예를 들어 SELECT * 한다면, 모든 필드를 다 선택하는 것이 된다. 주의해서 사용하자.

7. 필수로 알아야 할 다양한 명령어

https://www.w3schools.com/sql/exercise.asp

 

W3Schools SQL Exercise

I completed all the SQL exercises on w3schools.com

www.w3schools.com

  • 퀴즈를 직접 풀어보면서 자연스럽게 배울 수 있다. 이것이 가장 빠른 방법인 것 같다.
  • 만약 모르겠다면, 오른쪽 아래에 'Show Answer'을 눌러서 확인할 수도 있지만, 왼쪽 텝에 Tutorial 페이지로 연결해주는 링크가 있으니 그곳부터 천천히 읽어보고 오는 것을 추천한다.
  • 영어의 장벽이 무섭다면 번역을 번갈아 보면서 해도 충분하다. 오히려 영어로 보는 게 번역보다 매끄러울 수 있다.
  • 위의 문제들을 충분히 풀어본 후에 터미널 창에서 직접 해 보면 무엇보다 재미있다...!
COMMENT