MySQL [210715][Wecode]

Jungsoo kim·2021년 7월 15일
1

wecode

목록 보기
2/30

기술 블로그 작성 그 두 번째 MySQL에 관한 내용이다.

<목차>
1. MySQL 이란?
2. 기초 문법 정리
3. 추후 계획
본 글은 저(직접 경험하고 실험한 과정이나 결과) 위주의 글임을 참고 하시기 바랍니다.

1. MySQL은 무엇인지?

MySQL은 2016년 기준으로 점유율이 80%에 달하는 가장 많이 사용되는 관계형 데이터 베이스 관리 시스템이라고 한다. (5년 전이기 때문에 현재는 어느정도 점유율인지는 확실하진 않으나, 여전히 많이 사용되는 데이터 베이스 관리 시스템임은 분명하다.)

여기서 데이터 베이스 관리 시스템은 데이터들을 관리하는 시스템으로써 일종의 스프레드 시트와 같다. 다만, GUI를 포함하고 있지 않아 해당 언어로 CRUD(create, read, update, delete)를 할 수 있는 것으로 보인다.
최근에는 데이터 베이스 자체만으로 사용되기 보단 프로그래밍 언어와 결합하여 사용되는 경우가 많으며, 특히 Back-end 개발 시에 거의 필수적인 시스템인 것 같다.

2. 기초 문법

1) 실행

여태까지 사용해왔던 Tool과는 다르게 터미널에서 직접 접근해서 사용할 수 있다. 터미널을 많이 사용하지 않았기 때문에 익숙하지가 않아서 처음엔 좀 어려웠지만, 앞으로 자주 사용하는 버릇을 들여서 익숙해 지도록 해야겠다. 대략적인 접근 방법은 아래 스크린 샷과 같다.

2) Database 만들기 & Table 만들기

MySQL을 실행해서 데이터 베이스 시스템을 활용하기 위해서는 데이터 베이스 및 Table을 생성해 주어야 한다. 참고로 MySQL의 구조는 아래와 같다.

따라서 database를 먼저 생성하고 그 후에 생성한 database에 접속 및 table을 추가로 만들어 줘야 한다. (아래 예시 참고)

create database opentutorials;

use opentutorials;

create table topic(
id int(11) not null auto_increment,
Title varchar(100) not null,
Description text null,
Created date time not null,
Author varchar(30) null,
Profile varchar(100) null,
Primary key(id));

각 Line의 기능이 무엇인지는 충분히 검색해서 알 수 있는 내용이므로 그냥 넘어가기로 한다.

여기까지 했으면 항목이 추가되어 있는 Table을 만든 것이다.

3) Table에 data 입력

마지막으로 Table에 data를 입력해야 하나의 data table을 완성 시킬 수 있다. data 입력은 아래 코드 참고

Insert into topic (title, description, created, author, profile) values(‘MySQL’,’MySQL is…’,now(),’egoing’,’developer’);
select* from topic;

이렇게 데이터 베이스 시스템 사용에 가장 중요한 CRUD 중 Create 하는 방법을 알아보았다.

4) Data 읽기 & 수정 및 삭제 방법

  • 데이터를 읽을 때는 Select syntax를 사용한다. (아래 예시 참고)
select* from topic;
  • 데이터를 수정 할 때는 Update syntax를 사용한다. (아래 예시 참고)
Update topic set author=‘Martin’ where id=3;
  • 데이터를 삭제 할 때는 Delete syntax를 사용한다. (아래 예시 참고)
    덧붙여 데이터 테이블 전체를 삭제 할 때는 Truncate syntax 사용.
Delete topic where id = 5;

5) Database system을 사용할 경우 일반적인 스프레드 시트를 사용할 때와는 달리 아주 좋은 장점이 하나 있어서 여기에 덧붙이겠다.

Database system을 사용할 경우 데이터를 분산 저장한 후에 출력 시 한 번에 출력 하는 것이 가능하다.
이는 많은 여려개의 데이터 중 일부 항목이 겹치는 경우 한 번에 데이터를 결합하여 출력할 수 있으며, 이는 데이터 양이 방대해 질 경우 아주 좋은 기능이라고 볼 수 있다.

  • 데이터를 덧붙여서 출력하길 원할경우 Join syntax를 사용하며, 코드 작성 예시는 아래와 같다.
select* from topic left join author on topic.author_id = author.id; #여기서 topic 과 author는 각각 다른 테이블 이다. 

여기서 topic 과 author는 각각 다른 테이블 이며, topic의 author_id 항목과 author의 id 항목이 겹쳐서 두 개의 테이블을 덧붙여서 출력할 수 있다.

3. 추후 학습할 내용

위에서 작성한 것과 같이 이제 까지는 단순히 Database system에 어떻게 데이터를 CRUD하는지에 대한 가장 기초적인 내용을 공부하였다.

앞서 말했던 것과 같이 현대에는 Database 자체만으로 사용되는 경우보다는 프로그래밍 언어와 결합하여 프로그램을 만드는 경우가 더 많기 때문에 저장된 Database가 어떻게 프로그래밍 언어와 호환되어 사용될 수 있는지를 알아봐야 할 것 같다.
따라서 생활코딩에서 추천해준 검색어 키워드 MySQL python api를 사용하여 어떤 api를 활용해야 프로그래밍언어(Python)과 데이터베이스를 호환 가능한지를 알아보고 방식에 대해서 공부해야 할 것 같다.

<마지막으로>

여전히 부족한 글 솜씨지만 앞으로 꾸준히 작성하여 조금씩 나아질 수 있도록 노력해야겠다.

profile
어렵지만 꾸준히 차근차근 해 나가자~!

0개의 댓글