brunch

You can make anything
by writing

C.S.Lewis

by hansung dev Jan 24. 2023

데이터를 저장합니다.

현업 데이터 엔지니어가 핵심만 알려드리는 SQL

실습에 사용한 DBMS는 MySQL 8.0.32 입니다.


데이터와 데이터베이스, DBMS는 어떤 차이가 있나요?

여러 사람이 동시에 사용할수 있는 목적으로 구조화된 데이터의 집합을 데이터베이스라고 합니다. 이러한 데이터베이스를 관리하는 시스템을 DBMS(Database Management System)라고 합니다. 사용자는 DBMS에 SQL 언어를 사용해 데이터를 입력, 수정, 삭제, 조회할수 있습니다.


데이터베이스와 테이블의 관계!

구조화된 데이터의 집합을 데이터베이스(Database)라고 합니다. 데이터베이스는 행(Row)과 열(Column)로 구성된 테이블(Table)로 구성되어 있습니다.


데이터베이스는 테이블외에도 뷰, 프로시저, 트리거 등 다양한 데이터베이스 오브젝트로 구성되어 있습니다.


SQL Statements

데이터베이스와 테이블을 생성하는 SQL 기본 문법을 배워보겠습니다. 

데이터를 저장하기 위해서는 데이터베이스와 테이블을 생성해야 합니다. 


CREATE DATABASE Statement

데이터베이스를 생성하는 기본 문법은 아래와 같습니다.


CREATE TABLE Statement

테이블 생성 기본 문법은 아래와 같습니다.






INSERT Statement

데이터를 입력하는 기본 문법을 배워봅니다.




기본편에서는 핵심만 쉽게 알려드립니다. 자세한 부분은 "Data Definition Statements"에서 확인하실수 있습니다.


실습합니다.

리나의 용돈기입장의 데이터를 데이터베이스에 저장해봅니다.









by ELLA (저작권이 있는 이미지)



데이터베이스를 생성합니다.

CREATE DATABASE money_diary;

-- 1 rows(s) affected (0.076 sec)

생성한 데이터베이스를 "show databases" 명령어로 확인할수 있습니다.

mysql> show databases;
+--------------------+
| Database           
| +--------------------+
| information_schema  |
| mysql                         |
| performance_schema |
| sys                             |
| money_diary              |
+--------------------+
5 rows in set (0.02 sec) mysql>
information_schema, mysql, performance_schema, sys는 MySQL를 설치하면 기본적으로 생성되는 시스템 데이터베이스들입니다.


테이블을 생성합니다. 테이블 생성시 컬럼명과 데이터타입, 제약조건(선택)를 입력해야합니다.

용돈기입장 데이터베이스에 월단위의 테이블을 생성합니다.

use money_diary;

CREATE TABLE lina_202301 (     
    id INT PRIMARY KEY AUTO_INCREMENT,     
    content VARCHAR(50) NOT NULL, --내용     
    income INT, --수입     
    expense INT, --지출     
    balance INT NOT NULL --합계
);
use 문을 사용하여 생성한 데이터베이스를 선택합니다.


데이터를 입력합니다.

use money_diary; 

INSERT INTO lina_202301 (content, income, balance)  
VALUES ("용돈", 1000, 1000);
 
INSERT INTO lina_202301 (content, expense, balance)  
VALUES ("과제", 300, 700);
 
INSERT INTO lina_202301 (content, income, balance)  
VALUES ("용돈", 1000, 1700);
 
INSERT INTO lina_202301 (content, expense, balance)  
VALUES ("학용품", 500, 1200);
 
INSERT INTO lina_202301 (content, income, balance)  
VALUES ("용돈", 1000, 2200);


다음장에서는 입력한 데이터를 조회하는 방법을 배워보겠습니다.


매거진의 이전글 데이터와 데이터베이스, DBMS는 어떻게 다른가요?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari