[zero-base/] DS Part 5. SQL - 35일차 스터디 노트

손윤재·2024년 1월 22일

제로베이스 DS 22기

목록 보기
36/55
post-thumbnail

Database 정의

데이터베이스란, 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터 집합체이다.


🔰 DBMS

  • Database Management System

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 Software이다.


🔰 RDB

  • Relational Database, 관계형 데이터베이스

  • 서로간에 관계가 있는 데이터 Table들을 모아둔 데이터 저장 공간이다.


🔰 SQL

  • Structured 질의어(QL, Query Language)

  • 질의어란, 터미널에서 데이터베이스를 검색하기 위해 주로 사용되는 독립 언어이다.

  • SQL은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어이다.


DB 관리

  • 설치한 MySQL의 root 계정으로 접속
    > mysql -u root -p
    > Enter password: ************
    
    --혹은 password를 바로 입력하고 실행할 수도 있다.    
    > mysql -u root -p************
  • 데이터베이스 목록 확인
	SHOW DATABASES;
  • 데이터베이스 생성
	CREATE DATABASE db_name;
  • 데이터베이스 사용
	USE db_name;
  • 데이터베이스 삭제
	DROP DATABASE db_name;

User 관리

  • 사용자 정보는 mysql 데이터베이스에서 관리한다.

  • mysql 데이터베이스 내 user 테이블에서 사용자 정보를 확인할 수 있다.

	USE mysql;
    SELECT host, user FROM user;
  • 사용자 생성
	-- 로컬 PC에서만 접속 가능한 사용자
	CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';
    
    -- 외부에서 접속 가능한 사용자
    CREATE USER 'user_name'@'%' IDENTIFIED BY 'password';
  • 사용자 삭제
    • 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해주어야 한다.
	DROP USER 'user_name'@'localhost'
    DROP USER 'user_name'@'%'
  • 사용자에게 특정 데이터베이스의 모든 권한을 부여
	GRANT ALL ON db_name.* TO 'user_name'@'localhost'
    GRANT ALL ON db_name.* TO 'user_name'@'%'
  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
	REVOKE ALL ON db_name.* FROM 'user_name'@'localhost'
    REVOKE ALL ON db_name.* FROM 'user_name'@'%'
  • 사용자에게 부여된 모든 권한 목록 확인
	SHOW GRANTS FOR 'user_name'@'localhost'
    SHOW GRANTS FOR 'user_name'@'%'
profile
ISTP(정신승리), To Be Data Scientist

0개의 댓글