출처: https://opentutorials.org/course/3161
- 개발환경 설치 가이드&수련: https://github.com/egoingsb/offline/wiki/database---mysql
- bitnami 비번 - 비스타 문 비번
- mysql port 3307
- Bitnami 경로
cd C:\Bitnami\wampstack-7.3.8-0\mysql\bin
mysql 켜기 (항상 켜져 있어야 함) - 아래 사진 참고
1. 관계형 데이터베이스 소개와 기본 사용법
- 데이터베이스 쓰는 이유
- 큰 규모 커버 가능
- 자동화된 처리 가능
- db의 종류: 객체형, 관계형, 그래프, 문서형 db 등등
sql - 관계형 데이터베이스에서 사용하는 컴퓨터 언어
Structured, Query, Language
[관계형 데이터베이스]
오랫동안 시장을 장악, but 이게 다는 아님. 상황에 따라 다른 db 모델을 사용할 수도 있음. (ex. sns를 만들고 싶다. - 관계형 db로는 만들기 어렵)
<혜성처럼 등장한 다른 db들>
nosql - not only sql
mongodb
elasticsearch
redis
지금은 또 산업이 AI로 가서 혜성 flow가 죽음
MySQL 창시자가 ORACLE한테 빡쳐서 새로운 코드로 만든 게 MariaDB.
mysql과 완벽히 호환.
2. MySQL의 생성, 읽기, 수정, 삭제
- 공부법
INSTALL & RUN
CRUD & GROUP & CONNECT
mysql 구동하기
cd C:\Bitnami\wampstack-7.3.8-0\mysql\bin
mysql -uroot -p
비번입력
데이터베이스=표들을 그룹핑한 것
3개의 표를 그룹핑 => 3개의 스키마가 있는 것
핵심 스텝
- 인증 통과 (mysql -uroot -p)
- 스키마(=연관된 표를 그루핑함)를 생성 (create database 이름)
- 내가 쓸 스키마 선택 (use 이름)
- 표를 만든다 [column 열 먼저]
table 용어
열: column 데이터의 종류
행: row 각각의 데이터 한 건
2-1. 스키마 read, create
Read (스키마 보기)
SHOW DATABASES;
디폴트로 생성되어있는 스키마들을 볼 수 있음.
Create (스키마 생성)
CREATE DATABASE 이름;
해당 스키마로 들어가기
USE 이름;
이후의 모든 명령어들은 해당 스키마의 표에 적용됨
2-2. 표 create, read
표를 만들자 - [column 열 먼저]
CREATE TABLE 테이블이름 (
id INT(11),
title VARCHAR(20),
description text,
created datetime,
author_name VARCHAR(20),
author_profile VARCHAR(100)
);
형(data type) 설명:
- VARCHAR와 text 차이
VARCHAR로 글자 수를 제한하지 않고 긴 문자열을 사용할 때는 text 사용하기
VARCHAR 원하는 길이로 자를 수 있다는 장점
text - 경제적 x, 메모리 많이 잡아먹음. text로 하지 않아도 되는 경우는 VARCHAR를 사용하기
- datetime
시간 형식, 시간도 나옴
존재하는 table 보기
SHOW TABLES;
table 구조 보기
DESC 테이블이름;
표를 만들자 - [row 행 추가]
INSERT INTO 테이블이름
(id, title, description, created, author_name, author_profile)
VALUES(
1,
'MySQL',
'MySQL is ...',
NOW(),
'soojin',
'developer'
);
행을 먼저 기술해주고
정확한 데이터를 VALUES에 행의 순서대로 적어주면 됨.
created는 datetime 형이기에 _NOW()_로 하면 현재 시각이 추가됨.
Read 표
SELECT * from topic;
*는 모든 column을 다 가져오겠다는 말
원하는 column 가져오기
SELECT id, title, created from 테이블이름;
원하는 row 가져오기
SELECT * FROM 테이블이름 WHERE id =1;
SELECT * FROM 테이블이름 WHERE author_name="soojin";
SELECT id, title FROM 테이블이름 WHERE id=1;
2-3. delete 하기
delete는 항상 조심하기
where 절을 꼭 붙여야 나중에 큰 실수를 방지할 수 있
delete from 테이블이름 where id=4;
2-4. update 하기
where절을 꼭 붙여야 나중에 큰 실수를 방지할 수 있
UPDATE 테이블이름
SET title = 'nosql'
WHERE id=2;
3. GUI 방식으로 DB 서버 제어하는 방법
localhost/phpmyadmin 접속
'DATABASE > MySQL' 카테고리의 다른 글
[MySQL] 관계형 데이터 모델링 2 (논리적 모델링) - 정규화 (0) | 2019.08.29 |
---|---|
[MySQL] 관계형 데이터 모델링 3 (물리적 모델링) - 역정규화, 분석, 성능 개선 하는 법 (0) | 2019.08.28 |
[MySQL] 관계형 데이터 모델링 2 (논리적 모델링) - 1:1, 1:N, N:M 관계 맵핑하기 (0) | 2019.08.26 |
[MySQL] 관계형 데이터 모델링 1 (개념적 모델링) - join과 entity relationship diagram (0) | 2019.08.25 |
[MySQL] 관계형 데이터베이스의 응용 - client와 server, php 실습코드 (0) | 2019.08.25 |
Comments