SQL (1)

MSMoon·2025년 5월 12일
0

데이터 이론 학습

목록 보기
22/27
post-thumbnail

Chapter 2 Database 사용해보기

Database 정의

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

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 관리

  • root 계정으로 mysql에 접속
% mysql -u root -p
Enter password:
  • 현재 database 목록 확인
SHOW DATABASES;

  • Database 이름을 지정하여 생성
CREATE DATABASE dbname;
  • testdb라는 이름의 데이터베이스 생성 및 확인
CREATE DATABASE testdb;

  • 해당 데이터베이스로 이동(사용)
USE dbname;
  • testdb로 이동
USE testdb;

  • database 삭제
DROP DATABASE dbname;
  • testdb 데이터베이스 삭제
DROP DATABASE testdb;

User 관리

  • 사용자 정보는 mysql에서 관리함
use mysql;
SELECT host, user FROM user;

  • 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'localhost' identified by 'password';
  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';
  • 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제
DROP USER 'username'@'localhost'
DROP USER 'username'@'%'

User 권한 관리

  • 사용자에게 부여된 모든 권한 목록을 확인
SHOW GRANTS FOR 'username'@'localhost';
  • 사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON dbname.* to 'username'@'localhost';
  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
REVOKE ALL ON dbname.* to 'username'@'localhost';
  • 수정내용이 적용 되지 않은 경우 새로고침
FLUSH PRIVILEGES;

이 글은 제로베이스 강의 자료 일부를 발췌하여 작성되었습니다

0개의 댓글