SQL 1,2

민정윤·2024년 10월 2일
0

SQL란?

  • 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 설치하기

  • mysql client command 실행

  • root 계정으로 접속하기 (password 입력하기)

	mysql -u root -p

0. Database 생성하기

💭 난 수업 내용 기록 및 훈련을 위한 데이터베이스 notes를 만들겠음.

데이터베이스 생성하기

CREATE DATABASE notes;

데이터베이스 목록 조회하기

SHOW DATABASES;

데이터베이스 삭제하기

DROP DATABASE notes;

User 관리

1. USER 조회

💭 mysql 데이터베이스로 이동 후 조회할 수 있음.
💭 'USE'로 사용할 데이터베이스 지정해주기.

USE mysql;

user 정보 조회

SELECT host, user FROM user;

우리가 사용하고 있는 건 root 계정!

MySQL에서 유저 종류는 2가지!

  • 현재 PC에서 접속 가능한 사용자
  • 외부에서 접속 가능한 사용자
  1. 현재 PC에서 접속 가능한 유저 생성하기
CREATE USER 'username'@'localhost' identified by 'password';

유저를 생성하겠다 -> 이 이름의 유저를 ->현재 pc 접속 가능한 -> 이 비번으로

  1. 현재 외부에서 접속 가능한 유저 생성하기
CREATE USER 'username'@'%' identified by 'password';

2. USER 삭제

DROP USER 'username'@'localhost';
DROP USER 'username'@'%';

3. USER 권한 관리

유저를 처음에 생성하면 별다른 권한이 부여되지 않음.
BUT
특정 데이터에 대해 특정 유저에게 사용 권한 부여 가능함!

  • 사용자에게 부여된 모든 권한 목록 확인하기
SHOW GRANTS FOR 'username'@'localhost';
  • 특정 데이터베이스에 대한 모든 권한을 현재 접속 가능한 사용자 username에게 부여하기
GRANT ALL ON notes.* to 'username'@'localhost';
  • 특정 사용자에게서 특정 데이터베이스에 대한 모든 권한을 삭제하기
REVOKE ALL ON notes.* from 'username'@'localhost';
  • 권한 새로고침
FLUSH PRIVILIGES;

0개의 댓글