코드짜는 노인네

[MySQL] 처음하시는분들께서 기본적으로 알면 좋은 정보 (DB 구조) 본문

코딩 학습/MySQL

[MySQL] 처음하시는분들께서 기본적으로 알면 좋은 정보 (DB 구조)

ikohong 2021. 6. 8. 03:15
728x90
반응형

[MySQL] 처음하시는분들께서 기본적으로 알면 좋은 정보 (DB 구조)


SQL을 처음하시는분들께서는 코드를 다루기전에 MySQL의 구조를 먼저 아셔야됩니다. 이번 파트는 MySQL의 기본적인 구조를 한번 다뤄보겠습니다.


Database


데이터베이스를 음식과 비유를 해보겠습니다. 음식중 한식에 대한 정보를 다뤄볼까 합니다. 일단 한식에 대한 정보를 넣기 위해서는 이 정보를 넣기 위한 공간이 필요합니다. 한식이라는 데이터베이스를 만들어보도록 하겠습니다.

음식명 데이터베이스이름
한식 koreafood

여기서 데이터베이스를 만드는 코드는 다음과 같습니다.

create database 데이터베이스이름;

데이터베이스이름에 'koreafood'를 넣어줍니다.

create database koreafood;

 

위의 코드를 입력하게 되면, 데이터베이스가 생성됩니다. 데이터베이스 생성확인은, 'show databases;'를 입력하시면, 등록되어있는 데이터베이스들을 확인할 수 있습니다.


table, column


 

한식중에서도 다양한 메뉴들이 있을껍니다. 이 메뉴들을 각각만들어줍니다. 여기서 메뉴는 데이터베이스에서는 'table'이 이 역할을 하게 됩니다.

한메뉴 테이블명(table)
비빔밥 bibimbap
김치찌개 kimchi_stew
불고기 bulgogi
김치 kimchi

이 메뉴를 만들기 위해서는 최소한 1개의 재료가 들어가야됩니다. 물론, 음식을 만들기 위해서는 다양한 재료들이 들어가줘야 맛있게 되겠죠? 이 재료들은 컬럼으로 구분을 지어줍니다.

재료 컬럼(column)
비빔밥 재료 bibimbap_ingredients
 김치찌개 재료 kimchi_stew_ingredients
불고기 재료 bulgogi_ingredients
김치 재료 kimchi_ingredients

자 인제 테이블을 만들어보겠습니다. 테이블을 만드는 코드는 다음과 같습니다. 

create table 테이블이름 (컬럼이름 데이터타입);

이 코드를 토대로 테이블을 한번 생성을 해보겠습니다.

use koreafood;
create table bibimbap (bibimbap_ingredients varchar(100));
create table kimchi_stew (kimchi_stew_ingredients varchar(100));
create table bulgogi (bulgogi_ingredients varchar(100));
create table kimchi (kimchi_ingredients varchar(100));

맨 위를 보시면 'use koreafood;'라고 적어놓았습니다. 이건 이 데이터베이스를 선택하겠다는 뜻으로, 데이터베이스를 선택한 다음, 테이블을 생성해줘야합니다. 만일 데이터베이스를 다른곳에 선택을 해놓았다면, 엉뚱한곳에 테이블이 생성될수 있으니, 꼭, 테이블 생성전에 데이터베이스를 선택해주는 버릇을 들이면 좋을듯합니다.

코드안을 보게되면 'varchar(100)'이 보이는데요. 쉽게 이야기하면, 재료그릇의 크기라 생각을 하시면 됩니다. 그릇의 크기보다 재료량이 많으면, 그 재료는 들어가지 못하게됩니다. 

생성을 완료하고 난 다음, 'show tables;'를 입력하면, 데이터베이스 'koreafood'안에 들어있는 테이블을 확인할 수 있습니다.

그리고 테이블안에 컬럼이 무엇이 들어있는지 확인하고 싶다면, 아래의 코드를 입력해주시면 됩니다.

show columns from 테이블명;

재료(데이터)를 한번 넣어보겠습니다.


비빔밥에 재료를 한번 넣어보겠습니다. 그런데 위에서 생성을 한것을 보면, 재료를 한개만 넣을수 있는 상황입니다. 여러개의 재료를 구분하기 위해서 컬럼을 추가해주겠습니다. 추가방법은 다음과 같습니다.

use 데이터베이스명;
alter table 테이블명 add 컬럼명 데이터타입;

위의 코드 기준으로 컬럼을 추가하면 다음과 같습니다.

alter table bibimbap add bibimbap_ingredients_1 varchar(100);
alter table bibimbap add bibimbap_ingredients_2 varchar(100);
alter table bibimbap add bibimbap_ingredients_3 varchar(100);

컬럼이 추가가 되었으니, 인제 재료를 넣겠습니다. 여기서 재료가 바로 데이터라 생각하시면 됩니다. 데이터를 넣는 방법은 다음과 같습니다.

-- 하나의 데이터를 넣는 경우
insert into 테이블명(컬럼명) value("데이터");
-- 여러개의 데이터를 넣는 경우
insert into 테이블명(컬럼명0, 컬럼명1, .. , 컬럼명) values ("데이터0","데이터1",...,"데이터");

 

 

위의 코드 기준으로 데이터를 넣어보겠습니다.

insert into 
bibimbap(bibimbap_ingredients,bibimbap_ingredients_1,bibimbap_ingredients_2,bibimbap_ingredients_3)
values("밥","계랸","고추장","야채");

컬럼명을 길게 만든것에 후회를 하고 있습니다;;; 어찌되었든 위의 코드를 입력하면 데이터가 입력이 됩니다.

그리고 테이블안에 데이터를 보고 싶다면, 다음 코드를 입력하시면 됩니다.

use 데이터베이스명;
select * from 테이블명;

이걸 지금 예시로 입력을 하게되면

use koreafood;
select * from bibimbap;

그러면 위의 사진처럼 각 컬럼별로 데이터가 들어가게된것을 확인할 수 있습니다. SQL을 처음접하시는분들께 조금이나가 쉽게 이해할 수 있도록 예시를 보여드렸습니다. 조금이나마 도움이 되셨길 바라겠습니다!

728x90
반응형

'코딩 학습 > MySQL' 카테고리의 다른 글

[SQL] SQL쿼리문 - Select  (0) 2022.07.16
Comments