Database = 데이터의 집합체
DBMS (Data Base Management System) = 데이터베이스를 관리해주는 소프트웨어 (데이터 누적)
RDB (Relational Database) = 관계형 데이터베이스 = 서로간의 관계가 있는 데이터 테이블을 모아둔 데이터 저장 공간
(관계된 데이터를 추출 및 삭제 가능)
SQL (Structured Query System) = 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어.
- 데이터 정의 언어 (DDL: data definition language)
ex) CREATE, ALTER, DROP
- 데이터 조작 언어 (DML: data manipulaton language)
ex) INSERT, UPDATE, DELETE, SELECT
- 데이터 제어 언어 (DCL: data control language)
ex) GRANT, REVOKE, COMMIT, ROLLBACK
mysql 설치하기
mysql client command 실행
root 계정으로 접속하기 (password 입력하기)
mysql -u root -p
0. Database 생성하기
💭 난 수업 내용 기록 및 훈련을 위한 데이터베이스 notes를 만들겠음.
데이터베이스 생성하기
CREATE DATABASE notes;
데이터베이스 목록 조회하기
SHOW DATABASES;
데이터베이스 삭제하기
DROP DATABASE notes;
1. USER 조회
💭 mysql 데이터베이스로 이동 후 조회할 수 있음.
💭 'USE'로 사용할 데이터베이스 지정해주기.
USE mysql;
user 정보 조회
SELECT host, user FROM user;
우리가 사용하고 있는 건 root 계정!
MySQL에서 유저 종류는 2가지!
- 현재 PC에서 접속 가능한 사용자
- 외부에서 접속 가능한 사용자
CREATE USER 'username'@'localhost' identified by 'password';
유저를 생성하겠다 -> 이 이름의 유저를 ->현재 pc 접속 가능한 -> 이 비번으로
CREATE USER 'username'@'%' identified by 'password';
2. USER 삭제
DROP USER 'username'@'localhost';
DROP USER 'username'@'%';
3. USER 권한 관리
유저를 처음에 생성하면 별다른 권한이 부여되지 않음.
BUT
특정 데이터에 대해 특정 유저에게 사용 권한 부여 가능함!
SHOW GRANTS FOR 'username'@'localhost';
GRANT ALL ON notes.* to 'username'@'localhost';
REVOKE ALL ON notes.* from 'username'@'localhost';
FLUSH PRIVILIGES;