SQL - Database 기본

허재정·2024년 3월 18일

SQL

목록 보기
1/7

1. 데이터베이스 정의

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

2. DBMS (Database Management System)

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

3. RDB (Relational Database : 관계형 데이터베이스)

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

  • 행[row] : 튜플[tuple], 레코드[record]
  • 열[column] : 속성[attribute], 필드[field]

=================================================

1. SQL (Structured Query Language)

  • 터미널에서 데이터베이스를 검색하기 위해 주로 사용되는 독립 언어
  • SQL은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

* 데이터 정의어 [DDL] : CREATE / ALTER / DROP (Table과 관련)

* 데이터 조작어 [DML] : SELECT / UPDATE / INSERT (Data 조작과 관련)

* 데이터 제어어 [DCL] : GRANT / REVOKE / COMMIT / ROLLBACK (권한부여/해제, 트랜젝션 집행, 변경 취소 원상복귀 와 관련)


1. DB 관리하기

  • 설치한 MySQL의 root 계정으로 접속
    > mysql -u root -p
    > Enter password: ************
    
    # 혹은 password를 p 뒤에 이어 입력하고 실행할 수도 있음    
    > mysql -u root -p*****
  • 데이터베이스 목록 확인
SHOW DATABASES;
  • 데이터베이스 생성
CREATE DATABASE db_name;
  • 사용하게 되는 데이터베이스 지정 (로그인 후 지정)
USE db_name;
  • 데이터베이스 삭제
DROP DATABASE db_name;

2. 사용자 관리

  • 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
Data Science 스터디로그

0개의 댓글