SQL1-2. DB를 사용해보자

hh_binvely·2023년 3월 7일
0

5주차_SQL

목록 보기
1/6
post-thumbnail

DataBase 설치

1. program 다운로드 & 설치

A. https://dev.mysql.com/downloads/mysql 접속
B. Go to donwload 클릭

C. 큰 용량파일(빨간색 박스 표시된 파일) 다운로드 진행

D. 다음 화면에서 'No thanks, just start my download.' 클릭

E. 다운로드 진행&완료!!

2. 설치 프로그램 종류

[MySQL 8.0 Command Line Client] prompt 창이 열림
[MySQL Workbench] 사용자의 편리성을 높여주는 UI가 많은 프로그램

정의

  • Database
    : 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합체
  • DBMS
    : 사용자와 DB 간에 사용자의 요구에 따라 정보를 생성해주고 DB를 관리해주는 소프트웨어
  • 관계형 데이터베이스 (RDB; Relational Database)
    : 서로 간 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
  • SQL (Structured Query Language)
    : DB에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

    SQL 구성

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


Database 정의/관리

관리

  • MySQL 접속

    % mysql -u root -p
    Enter password:

  • 현재 database 목록 확인

    SHOW DATABASES;

  • database 생성

    CREATE DATABASE [dbname];

  • database로 이동

    use [dbname];

  • database 삭제

    drop database [dbname];



User 관리

User 관리

  • User 조회

    use mysql;
    select host, user from user;

  • User 생성
    • localhost
      - 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성

      create user 'username'@'localhost' identifyed by 'password';

    • %
      - 외부 PC에서 접속 가능한 사용자를 비밀번호와 함께 생성

      create user 'username'@'%' identified by 'password';

    • host정보가 다른 두 계정은 username이 동일해도 무방하다.
  • User 삭제

    drop user 'username'@'localhost';
    drop user 'username'@'%';



User 권한관리

실습환경 만들기

  • Database 생성

    create database testdb;
    show databases;

  • noma@localhost, pw:1234 계정 생성

    create user 'noma'@'localhost' identified by '1234'

User 권한 확인

  • 사용자에게 부여된 모든 권한 목록 확인

    show grants for 'username'@'localhost';

  • 사용자에게 특정 데이터베이스의 모든 권한을 부여

    grant all on dbname.* to 'username'@'localhost';

  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제

    revoke all on dbname.* from 'username'@'localhost';

  • 새로고침

    flush privileges;

➰마무리

  • Python, 자료구조&알고리즘, EDA, 크롤링을 거쳐 SQL을 공부하고 있다니!
  • 계속 반복해서 내 것으로 만들자

0개의 댓글