모든 서비스는 데이터를 기반으로 한다. 데이터를 보관해놓고 원하는 부분만을 가져오는 작업 및 빅데이터 기반한 분석 모두 데이터베이스에 기반한 작업이다.
Relational Database, RDS
, Relational Database Management System, RDBMS
, Structed
, 표로 이루어진 구조
, 데이터 타입을 속성으로 규정
, JOIN연산을 통한 관계 생성이 가능
Create(DDL)
, Insert(DML)
CREATE TABLE 테이블명 (
-- tables attributes(field) 정의
id int(11) not null AUTO_INCREMENT,
-- auto_increment: 자동으로 숫자 늘려서 추가
title varchar(30) not null,
description text,
created datetime,
PRIMARY KEY(id)
-- 기본키(primary key) 설정
);
-- table field에 맞춘 값을 VALUES()에 할당합니다.
-- NOW()는 현재 작성된 시간을 호출하는 함수입니다.
INSERT into 테이블명 (title, description, created) VALUES ('example', 'example value', NOW());
SELECT
-- * = 모든 요소 출력
SELECT * FROM 테이블명;
-- * 위치에는 원하는 필드를 작성해 해당 필드에 해당하는 튜플을 출력할 수 있습니다.
SELECT title FROM 테이블명;
-- 조건에 해당하는 튜플만 출력합니다.
SELECT * FROM 테이블명
WHERE [조건];
ALTER(DDL)
, UPDATE(DML)
-- []안에 들어가는 조건절을 통해 테이블을 변경할 수 있다.
-- RENAME, CHANGE COLUMN(field 속성 변경), ADD(field 추가), DROP(field 삭제) 등
ALTER 테이블명 [RENAME 바꿀테이블명];
-- 모든 튜플에 변경값이 반영된다.
UPDATE 테이블명 SET title='change';
-- where절을 통해 특정 튜플만 변경이 가능하다.
UPDATE 테이블명 SET title='change' WHERE id=1;
DROP(DDL)
, DELETE(DML)
-- CASCADE CONSTRAINT 옵션은 해당 테이블의 제약조건을 참조하고 있는 모든 테이블에도 반영한다는 의미이다.
DROP 테이블명 [CASCADE CONSTRAINT];
-- 테이블에 있는 모든 튜플이 삭제된다.
DELETE FROM 테이블명;
-- where절을 통해 특정 튜플만 삭제가 가능하다.
DELETE FROM 테이블명 WHERE id=1;
Bitnami
MacOS를 사용하고 CLI가 더 익숙하다면 brew로 mysql을 받아서 사용하면 된다. 패키지 매니저인 brew를 통해 설치, 업데이트, 삭제, 서버 실행 등이 매우 용이한 편이다.
➡️ 단, 조작법을 잘 모른다면 WorkBrench라는 프로그램을 설치해 함께 사용하는 것이 좋다.