[앨리스(elice) 레이서 1기 ] 03주차/DAY11 - 데이터베이스 기초

Jung Wish·2021년 1월 5일
0

엘리스 레이서 1기 교육 - 데이터베이스 기초

데이터베이스를 사용하는 이유?

모든 서비스는 데이터를 기반으로 한다. 데이터를 보관해놓고 원하는 부분만을 가져오는 작업 및 빅데이터 기반한 분석 모두 데이터베이스에 기반한 작업이다.

SQL(Structed Query Language)

  • 데이터베이스에 접근하고 조작하기 위해 사용하는 표준 프로그래밍 언어이다.
  • 핵심기능인 CRUD를 사용할 줄 알아야한다.

관계형 데이터베이스

Relational Database, RDS, Relational Database Management System, RDBMS, Structed, 표로 이루어진 구조, 데이터 타입을 속성으로 규정, JOIN연산을 통한 관계 생성이 가능

MySQL

  • mysql은 관계형 데이터베이스이다.(RDBMS)
  • MariaDB와 쌍둥이 형태이다. ➡️ MariaDB는 Mysql을 기반으로 한 오픈소스
  • 기본적으로 서버사이드형 서비스이다. ➡️ 보통 mysql을 client로 관리해주는 별도 프로그램 설치를 하고 사용한다.(ex. Workbrench)
  • 보통 DML을 다룰때에는(INSERT, UPDATE, DELETE) 데이터를 날릴(?)위험이 다분하기 때문에 반드시 백업본을 만들어놓고 진행하는 것이 좋다.

CRUD 기본 명령어 정리

  1. Create 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());
  1. Read SELECT
-- * = 모든 요소 출력
SELECT * FROM 테이블명;
-- * 위치에는 원하는 필드를 작성해 해당 필드에 해당하는 튜플을 출력할 수 있습니다.
SELECT title FROM 테이블명;
-- 조건에 해당하는 튜플만 출력합니다.
SELECT * FROM 테이블명
WHERE [조건];
  1. UPDATE 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;
  1. DELETE DROP(DDL), DELETE(DML)
-- CASCADE CONSTRAINT 옵션은 해당 테이블의 제약조건을 참조하고 있는 모든 테이블에도 반영한다는 의미이다.
DROP 테이블명 [CASCADE CONSTRAINT];
-- 테이블에 있는 모든 튜플이 삭제된다.
DELETE FROM 테이블명;
-- where절을 통해 특정 튜플만 삭제가 가능하다. 
DELETE FROM 테이블명 WHERE id=1;

Recommand

  • airtable

    • 웹에서 Database 작업을 수행할 수 있다. 엑셀과 비슷하게 GUI방식으로 데이터베이스를 다룰 수 있어 코딩을 하지 못하는 사람이나 초심자에게 추천하셨다.
    • 개인적으로 form을 공유해서 다른 사람들에게 데이터를 받아 데이터베이스에 반영하는 부분이 꽤나 유용한 기능인것 같다.
    • 다만, 유료서비스이다.(한정된 기능 안에서 무료 사용 가능)
  • Bitnami

    • mysql을 설치하고 관리할 수 있는 도구이다.
    • mysql을 클라이언트 단에서 수정할 수 있다.
  • MacOS를 사용하고 CLI가 더 익숙하다면 brew로 mysql을 받아서 사용하면 된다. 패키지 매니저인 brew를 통해 설치, 업데이트, 삭제, 서버 실행 등이 매우 용이한 편이다.
    ➡️ 단, 조작법을 잘 모른다면 WorkBrench라는 프로그램을 설치해 함께 사용하는 것이 좋다.

Reference

profile
Frontend Developer, 올라운더가 되고싶은 잡부 개발자, ISTP, 겉촉속바 인간, 블로그 주제 찾아다니는 사람

0개의 댓글