처음 데이터베이스를 배울 때는 관계형 데이터베이스부터 배워보기
→ 어떤 회사에 가도 관계형 데이터베이스를 쓰고 있어서 개발자로서 이득이다.
(Oracle을 잘하게 되면 MySQL을 잘할 수 있고 MySQL을 잘하게 되면 Oracle을 잘할 수 있다.)
Oracle
,MySQL
사용Q. 그럼 비관계형 DB는 쓸모 없나?
그렇다기보다는, 우선 관계형 데이터베이스를 할 줄 아는 사람이 많다보니 기업에서 인력을 구하기 쉬운 관계형 데이터베이스를 사용하게 되었다.
그런데 SNS가 등장하고, 사물인터넷이 등장하면서 데이터의 양이 크게 증가하였다. 그래서 관계형 데이터베이스에 모든 방대한 데이터베이스가 낑겨 들어가게 되면, 거기에 잘 맞지 않는 데이터베이스 입장에서는 관계형 데이터베이스가 일종의 억압이 되어버린다.
그래서 NoSQL
이라는 흐름이 나타나게 된 것이다.
"코드를 통해 데이터를 조작할 수 있다"
데이터 시트만 두고 봤을 때보다 SQL 문법을 통해 데이터를 제어하는 것이 더 간편하다.
그리고 이렇게 저장된 데이터들을 앱, 웹을 통해 공유할 수도 있고 빅데이터나 인공지능을 이용해 분석할 수 있다.
(이미 설치했기 때문에 생략)
MySQL을 설치하지 않고도 사용하기 ➡️ 🔗codeanywhere
로그인이 필요한 서비스이고, new Container를 눌러 사용하면 된다.
mysql -uroot
: MySQL 시작하기DataBase, schema(스키마): 표(table)들을 그룹화할 때 쓰는 일종의 폴더(folder)
평소 작업시 root 권한으로 작업하는 것은 약간 위험하다.
다른 권한으로 작업하다가 중요한 작업이 필요할 때 루트 계정을 이용하는 것이 좋다.
(초기시) bin에서 ./mysql -uroot -p
를 입력하면 비밀번호를 설정할 수 있다.
(-p 뒤에 바로 비밀번호를 입력해주어도 되지만, 노출되므로 그냥 -p까지만 기재하기)
CREATE DATABASE [생성하고 싶은 데이터베이스 이름];
DROP DATABASE [삭제하려는 데이터베이스 이름];
SHOW DATABASES;
USE [사용하려는 db명];
SQL
Structured
Query
Language
Structred - 표로 잘 정리된, 구조화된 것을 의미
Query - DB에게 생성해줘, 삭제해줘 .. "질의한다"는 의미
Language - DB도, 개발자도 이해할 수 있는 언어 🦊 ↔️ 🐻