[DB] 생활코딩 - MySQL (1)

PM077·2022년 11월 23일
0

CS Study

목록 보기
10/27

MySQL설치방법(이전 게시물)

접속방법

  1. cd /usr/local/mysql/bin
  2. ./mysql -uroot -p
  3. 패스워드 입력

스프레드시트 vs MySQL

공통점

  • 표 형태로 보여줌

차이점

  • SQL - 코드를 통해서 제어를 해야됨, Excel - GUI활용

MySQL구조

  • 우리가 데이터를 저장하는 곳은 최종적으로 표다
  • 어떠한 서비스를 운영하려면 아주 많은 표가 만들어 질 것이다
  • 이를 관리하는 것이 중요하다 → 연관된 테이블을 관리해야한다
  • 스키마(데이터베이스) → 표들을 그룹핑한 것
  • 다양한 스키마가 그룹핑 된 곳은 데이터베이스 서버

데이터베이스 생성, 삭제, 이용

  • 명령어를 전부 외우지 않아도 되기에 무언가를 하고 싶다면 구글링을 통해 진행하면 된다.
    • 그 결과 mysql은 CREATE DATABASE ~~ ;로 데이터베이스를 만들며
    • DROP DATABASE ~~; 로 데이터베이스를 삭제하고
    • SHOW DATABASES ~~; 로 데이터베이스를 확인하고
    • USE ~~; 로 데이터베이스에 있는 표를 설정 할 수 있다.

SQL

  • Structured Query Language
  • 기본적이면서 쉽고 자주 쓰이는 언어 → 가성비가 좋다
  • 열, 행, 표는 데이터베이스의 기본 용어이다 (아래 그림 참조)

테이블 생성하기

  • SQL Cheatsheet 를 검색하면 많은 자료를 한 번에 볼 수 있다
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(30) NULL
, PRIMARY KEY(id));
  • 이러한 형식으로 TABLE을 만들 수 있다

SQL에서의 CRUD

SHOW DATABASES를 해서 수정하고자 하는 데이터베이스를 찾고

SHOW TABLES를 해서 테이블을 본다

DESC 테이블이름 하면 내부의 값들을 나열된 상태로 볼 수 있다

CREATE (Create)

INSERT INTO topic (title, description, created, author, profile) VALUES('MYSQL', 'MYSQL is …', NOW(), 'egoing', 'developer');
INSERT INTO topic (title, description, created, author, profile) VALUES('ORACLE', 'ORACLE is …', NOW(), 'egoing', 'developer');
INSERT INTO topic (title, description, created, author, profile) VALUES('SQL Server', 'SQL Server is …', NOW(), 'duru', 'data administrator');
INSERT INTO topic (title, description, created, author, profile) VALUES('PostgreSQL', 'PostgreSQL is …', NOW(), 'taeho', 'data scientist, developer');
INSERT INTO topic (title, description, created, author, profile) VALUES('MongoDB', 'MongoDB is …', NOW(), 'egoing', 'developer');

적용된거 보기

SELECT * FROM topic;

(원래 Oracle → ORACLE 임)

SELECT (Read)

(잘모르는건 “SQL SELECT syntax” 검색 후 찾아보기)
밑에와 같은 형식으로 SELECT를 활용할 수 있다

id, title, created, author를 topic에서부터 보여주기

SELECT id, title, created, author FROM topic;

id, title, created, author를 topic에서부터 보여주는데 author는 egoing 이어야함

SELECT id, title, created, author FROM topic WHERE author = 'egoing';

id, title, created, author를 topic에서부터 보여주는데 author는 egoing 이어야하고 역정렬로 출력

SELECT id, title, created, author FROM topic WHERE author = 'egoing' ORDER BY id DESC;

id, title, created, author를 topic에서부터 보여주는데 author는 egoing 이어야하고 역정렬로 출력하는데 첫 2개만

SELECT id, title, created, author FROM topic WHERE author = 'egoing' ORDER BY id DESC LIMIT 2;

위와같이 조건들을 넣어서 SELECT문을 활용해 출력할 수 있다.

UPDATE(Update)

Update는 특정 데이터를 수정할 때 쓰는 명령어이다

UPDATE topic SET description='Oracle is ...', title = 'Oracle' WHERE id=2;

DELETE (Delete)

Delete는 특정 데이터를 삭제할 때 사용하는 명령어이다

DELETE FROM topic WHERE id = 5;

profile
PM/PO

0개의 댓글