SQL : 02. Database를 사용해보자

yeppi1802·2024년 6월 4일
0

❇️ 요약

  • Database 생성, 삭제
  • User 생성, 삭제, 조회
  • User 권한 부여, 제거

📖 Database 정의

🔆 Database란?

  • 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체

🔆 DBMS란? (Database Management System)

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

🔆 관계형 데이터베이스란? (RDB : Relational Database)

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

🔆 SQL이란? (Structured Query Language)

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

    📌 SQL 구성

    • DDL(데이터 정의 언어 : Data Definition Language)
      • CREATE, ALTER, DROP, TRUNCATE 등 명령어
    • DML(데이터 조작 언어 : Data Manipulation Language)
      • INSERT, UPDATE, DELETE, SELECT 등 명령어
    • DCL(데이터 제어 언어 : Data Control Language)
      • GRANT, REVOKE, COMMIT, ROLLBACK 등 명령

📖 Database 관리

🔆 SQL 접속

% mysql -u root -p 
-- -u : 유저설정 / root -p : 패스워드
Enter password:

🔆 Database 확인

SHOW DATABASES; -- 현재 database 목록확인

🔆 Database 이름 지정하여 생성

CREATE DATABASE dbname;
-- 생성할꺼야, 데이터베이스를, dbname이라는

🔆 해당 데이터베이스로(사용)

USE dbname;

🔆 Database 삭제

DROP DATABASE dbname;

📖 User 관리

🔆 User 조회

  • 사용자 정보는 Mysql에서 관리하므로 일단 Mysql데이터 베이스로 이동후 조회
use mysql; 
SELECT host, user From user;

🔆 User 생성 - localhost

  • 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'localhost' identified by 'password';
/* 
CREATE USER : 유저를 생성할꺼야
'username'@'localhost' : 현재pc로만 접속가능한 localhost인 'username'이라는 유저를
identified by 'password' : 비밀번호는 'password'로 할꺼야
*/

🔆 User 생성 - %

  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';
/* 
CREATE USER : 유저를 생성할꺼야
'username'@'localhost' : 외부에서 접속가능한 localhost인 'username'이라는 유저를
identified by 'password' : 비밀번호는 'password'로 할꺼야
*/

🔆 User 삭제

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

📖 User 권한 관리

🔆 실습환경 만들기 1 - Database 만들기

  • 권한 관리를 실습하기 위한 Database(testdb) 생성
CREATE DATABASE testdb;

🔆 실습환경 만들기 2 - User 만들기

  • 권한 관리를 실습하기 위한 사용자 (id: noma@localhost, password : 1234) 생성
CREATE  USER 'noma'@'localhost' identified by '1234';

🔆 User 권한 확인

  • 사용자에게 부여된 모든 권한 목록 확인
SHOW GRANTS FOR 'username'@'localhost';

🔆 User 권한 부여

GRANT ALL ON dbname.* to 'username'@'localhost';
-- 참고 - 수정내용이 적용이 되지 않은 경우 새로고침
FLUSH PRIVILEGES;

🔆 User 권한 제거

  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
REVOKE ALL ON dbname.* FROM 'username'@'localhost';
profile
제로베이스 DA7 김예빈입니다.

0개의 댓글