SQL 기초 - DataBase 사용

Jungmin·2022년 10월 31일
1

SQL

목록 보기
1/17

⏹️ Database 정의

Database

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

DBMS (Database Management System)

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

RDB (Relational Database)

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

SQL (Structured Query Language)

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

⏹️ SQL 구성

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

database 관리

  • MySQL 접속 (root계정으로 mysql 접속 ->터미널 실행)
% mysql -u root -p
  • 현재 database 목록 확인
show databases;
  • Database 이름 지정하여 생성
create database NAME;
  • 해당 데이터베이스로 이동(사용)
use NAME;
  • 데이터베이스 삭제
drop database NAME;

USER 관리

--> user 정보는 mysql 데이터베이스에서 관리.

use mysql;
select host, user from user;
  • User 생성 -localhost (현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성)
create user 'username'@'localhost' identified by 'password';
#ex ) create user 'noma'@'localhost' identified by '1234';
  • User 생성 - ' % ' (외부에서 접속 가능한 사용자를 비밀번호와 함께 생성)
create user 'username'@'%' identified by 'password';
  • User 삭제 ( localhost와 외부% 구분)
drop user 'username'@'localhost'
drop user 'username'@'%'

USER 권한 관리

  • 사용자에게 부여된 모든 권한목록 확인
show grants for 'username'@'localhost';
  • 사용자에게 특정 데이터베이스의 모든 권한을 부여
grant all on dbname.* to 'username'@'localhost'
# 적용이 바로 되지 않는 경우 
flush privileges; #새로고침
  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
# 현재PC에서 접근 가능한 localhost 의 경우
revoke all on dbname.* from 'username'@'localhost';
profile
데이터분석 스터디노트🧐✍️

0개의 댓글