MySQL - DATABASE

Flash·2022년 2월 18일
0

데이터베이스

목록 보기
1/1

[ MySQL ]

Database는 데이터를 어떻게 입력하고 출력하는 지를 알아야 한다.

CRUD, Create, Read, Update, Delete

Input => Create, Update, Delete
Output => Read

MySQL의 모든 명령어를 외울 수 있다면 좋지만

외우지 못하더라도 검색을 통해 명령어를 찾아 사용할 수 있다.


MySQL의 구조


[출처] 생활코딩 (https://opentutorials.org/course/3161/19534)

MySQL의 구조는 위의 그림과 같다.

가장 기본 단위는 Table로 우리가 원하는 데이터들을 원하는 형식으로 저장한다.

이러한 테이블들이 모여서 이루는 것이 Datebase 또는 Schema이다.

그리고 서로 다른 데이터베이스들을 모아놓은 것이 Datebase Server이다.


MySQL 스키마의 사용

Schema를 사용하기 위한 명령어는 CREATE이다.

CREATE DATABASE [데이터베이스의 이름]; 데이터베이스 생성
SHOW DATABASE; 생성되어 있는 데이터베이스의 리스트 출력
USE [데이터베이스의 이름]; 해당 데이터베이스 내 테이블 대상으로 수행


MySQL Table 생성하기

테이블을 생성하기 위한 명령어는 CREATE이다.

CREATE TABLE [테이블 명](
	column1 type NOT NULL(NULL) AUTO_INCREMENT,
    column2 tyoe NOT NULL(NULL),
    PRIMARY KEY(column name));
    
PRIMARY KEY를 사용하면
1. 중복을 방지할 수 있다.
2. 성능을 향상시킬 수 있다.

생성한 테이블에 데이터를 삽입하는 것은 INSERT이다.

INSERT INTO [테이블 이름] (col1, col2, col3, ...)
VALUES(val1, val2, val3, ...);

정보를 삽입하는 과정에서 테이블 구조를 볼 수 있으면 편리하다.
이는 DESC로 할 수 있다.

DESC [테이블 이름];

만약 테이블에 새로운 컬럼을 추가하고 싶으면 ALTER를 이용한다.

ALTER TABLE [테이블 이름] ADD 'new col' type AFTER 'old col'


Table 읽기

테이블의 내용은 SELECT로 읽을 수 있다.

SELECT [컬럼 이름] FROM [테이블 이름];

이 때, 테이블의 내용 중 원하는 조건이 있는 경우 WHERE을 사용한다.
SELECT [컬럼 이름] FROM [테이블 이름] WHERE name='이름';

추가적으로 id 값의 내림차순으로 데이터를 보고 싶은 경우
SELECT [컬럼 명] FROM [테이블 명] WHERE .. ORDER BY id DESC;
여기서 DESC는 descending을 의미한다.

데이터가 너무 많아서 보고자 하는 양을 제한하려면 LIMIT를 사용한다.
SELECT [컬럼 명] FROM [테이블 명] WHERE..ORDER BY.. LIMIT(숫자)

테이블의 내용을 수정하고 싶을 때 UPDATE을 사용한다.

UPDATE [테이블 명] set [컬럼 명]='내용' WHERE..;
여기서 WHERE을 적절히 사용하는 것이 중요한 데, WHERE을
사용하지 않으면 테이블 내의 모든 내용이 변경되어 버린다.

테이블의 내용을 삭제하고 싶을 때 DELETE을 사용한다.

DELETE FROM [테이블 명] WHERE .. 


중복되는 데이터들을 다른 테이블로 분리하게 되면 관리하기 좋지만 직관적으로 확인하기 어렵다.

이 때, 분리된 테이블을 합쳐진 형태로 보는 방법이 있다.

관계형 데이터베이스의 꽃 'JOIN'

profile
Whiplash We Flash

0개의 댓글