[SQL] Chapter01. MySQL 설치 & Chapter02. DataBase 사용

황성미·2023년 8월 16일
0
post-thumbnail
post-custom-banner

✍🏻 16일 공부 이야기.



MySQL 설치


작성한 패스워드는 절대로 잊어버리지 말기!(나중에 찾을 수 없다고 한다ㅠ 나는 영문 이름을 소문자로 적어줬다)

패스워드를 정확하게 입력했고 MySQL 정상적으로 설치가 되었다면 mysql> 표시가 뜰 것이다!


Workbench는 주피터노트북처럼 사용자가 편하게 코드를 짤 수 있도록 UI가 들어간 프로그램!

코드를 짜고 ⚡ 표시를 눌러주면 실행된다!



Database

✍🏻 용어 정리

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

  • DBMS(Database Management System) : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어(MySQL 같은거!)

  • 관계형 데이터베이스(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 등의 명령어



💻 직접 사용해보자!

초반에는 터미널에서 사용해볼 예정. 터미널에선 ;을 붙여줘야 즉시 실행됨.

  • SHOW databases; : 현재 database 목록 확인
  • CREATE database 데이터베이스이름; : database 이름을 지정하여 생성
  • USE 데이터베이스이름; : 해당 database로 이동
  • DROP database 데이터베이스이름; : 해당 database를 삭제



User 관리

User 정보는 mysql이라는 데이터베이스에서 관리하고 있다.
그러므로 사용자 정보를 알기 위해선 mysql 데이터베이스로 이동 후 조회하면 된다.

USE mysql;
  • SELECT host, user FROM user; : user 데이터베이스에서 host, user를 추출
  • CREATE USER '사용자이름'@'localhost' identified by '비밀번호'; : 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
  • CREATE USER '사용자이름'@'%' identified by '비밀번호'; : 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
  • DROP USER '사용자이름'@'localhost', DROP USER '사용자이름'@'%' : 사용자 삭제. 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해줘야함.

👀 User 권환 관리

실습을 하기 위한 데이터베이스와 사용자를 생성해준다.

textdb데이터베이스와 1234를 비밀번호로 가진 noma라는 사용자를 생성해주었다.

CREATE DATABASE testdb;
CREATE USER 'noma'@'localhost' identified by '1234';
  • SHOW GRANTS FOR '사용자이름'@'localhost'; : 특정 사용자에게 부여된 모든 권한 목록 확인(외부 사용자라면 localhost -> %)
  • GRANT ALL ON 데이터베이스이름.* to '사용자이름'@'localhost' : 특정 데이터베이스의 모든 권한을 사용자에게 부여
  • REVOKE ALL ON 데이터베이스이름.* to '사용자이름'@'localhost' : 특정 데이터베이스의 모든 권한을 사용자에게 삭제

cf) FLUSH PRIVILEGES; : 수정된 내용이 적용되지 않았다면 새로고침!



Table 생성

실습을 진행하기 위해선 데이터베이스가 만들어져있어야한다. 실습환경을 먼저 구축해보자.

-- 다국어와 이모지를 사용할 수 있게하는 zerobase라는 데이터베이스 생성
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4; 

Table

데이터베이스 안에서 실제 데이터가 저장되는 형태로 행과 열로 구성된 데이터 모음.

Table 생성

CREATE TABLE 테이블이름
(
	컬럼1이름 데이터타입,
    컬럼2이름 데이터타입,
    ...
)
  • SHOW TABLES; : 현재 데이터베이스 안에 있는 테이블 목록 확인
  • DESC 테이블이름; : 해당 테이블의 정보 확인

profile
데이터 분석가(가 되고픈) 황성미입니다!
post-custom-banner

0개의 댓글