G's days
[정리]21/08/15~16 Database-MySQL (생활코딩) 본문
Node.js - My SQL 강좌를 듣기 위한 사전학습
Oracle을 살짝 배웠기 때문에 복습하는 느낌으로 빠르게 들었다.
나중에 내용을 상기하기 좋도록 강의를 들으며 핵심적인 내용을 적으며 들었다.
단점은, 나만 이해할 수 있다는 점 :-)
관계형 데이터베이스 - MySQL
MySQL 설치 - Apach서버 설치할 때 WAMP로 설치했음으로 pass
(현재는 MariaDB로 설치된다 - mysql과 같은 오픈소스를 사용)
https://gsdays.tistory.com/126
내 PC에 웹서버를 설치해보자.(윈도우/bitnami WAMP)
AJAX관련 실습을 해보고자 한다. 웹서버가 필요하다. 내 PC에 설치해보자. Apache HTTP서버를 사용해 보자. bitnami WAMP를 통해 사용해 보자. 그럼 아래에서 다운을 받자. https://bitnami.com/stack/wamp/instal..
gsdays.tistory.com
MySQL 구조
(작은 순서대로) TABLE(표) -> DATABASE(SCHEMA) -> DATABASE SERVER
MySQL 서버에 접속해보자.
cmd창을 열자.
1) 먼저 mysql.exe가 들어있는 폴더로 디렉토리를 설정한다.
2) mysql -u(username) -p enter
(uroot: 관리자권한)
3) 지정한 password를 입력하면 접속 성공
database(schema)를 사용해보자.
CREATE DATABASE : 데이터베이스 생성
DROP DATABASE : 데이터베이스 삭제
USE DATABASE : 데이터베이스 사용
SQL과 table의 구조
- SQL : Structured Query Language
구조화된 (해줘!)(DB서버에게)질의하는 약속된 언어
database server와 소통하는 언어
- table의 구조
row = record = 행 ; 데이터 자체
column = 열 ; 데이터 타입, 테이블 구조
실습
table 생성
tip 쓰고자 하는 명령어, 데이터 타입은 cheat sheet를 검색해서 참조하자.
수업에서 생성한 'TOPIC'이라는 TABLE이다.
순서: column이름, 데이터타입(크기), NULL가능 여부, 기타 (콤마로 구분한다)마지막 줄에서 Primary Key(기본키)를 지정해 주었다.
* Primary Key(기본키): 식별자로 쓰기에 적합한 것을 table마다 설정하는 것
*auto_increment: 자동으로 부여됨
SQL의 INSERT구문
INSERT INTO 테이블(필드이름1, 필드이름2, 필드이름3, ..) VALUES(데이터값1, 데이터값2, 데이터값3, ..)
(auto_increment가 설정된 필드는 생략가능)
SQL의 SELECT구문
SELECT 필드명 or 데이터
FROM 테이블명
WHERE 찾고싶은 조건
ORDER BY ... DESC (내림차순으로 정렬)
LIMIT 갯수
SQL의 UPDATE구문
UPDATE 테이블 SET 필드 = 내용 WHERE 조건
SQL의 DELETE구문
DELETE FROM 테이블 WHERE 조건
실습end
관계형 데이터베이스의 필요성
저장은 나눠서 보여줄 때는 합쳐서!
실습
테이블 분리하기
두 개의 테이블을 만들자: author, topic
JOIN
topic테이블의 author_id값과 author테이블의 id값이 같은 row끼리 붙여서 테이블을 합치자;
===> SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;
SELECT topic.id AS topic_id ,title,description,created,name,profile FROM topic LEFT JOIN author ON topic.author_id = author.id;
===> AS는 다음의 이름으로 필드를 표시해 달라는 것.
===> topic.id라고 명시해준 이유는 두 테이블 모두 'id'값을 가지고 있기 때문이다.
실습end
인터넷과 데이터베이스, MySQL클라이언트
database client와 database server구분
MySQL monitor, MySQL Workbench: database client
MySQL Workbench
: MySQL에서 기본으로 제공하는 GUI기반의 MySQL Client
설치, 사용해보자
느낀점
1) 버튼이 하는 일을 다 기억하게 되면 편할 것 같다.
2) 데이터베이스와 테이블 목록을 한눈에 볼 수 있다.
3) 깔끔하고 예쁘다.
그래도 결국은 명령어를 써서 적용하는 것이기 때문에 MySQL monitor로 컨트롤하는 게 덜 복잡한 것 같다.
수업을 마치며
data modeling
data backup
cloud
(종류: AWS RDS, Google Cloud SQL for MySQL, AZURE Database for MySQL)
programming언어로 데이터베이스 핸들링하기
완강
'일지' 카테고리의 다른 글
[정리]21/08/20~22 React (2) (0) | 2021.08.21 |
---|---|
[정리]21/08/20~21 React (1) (0) | 2021.08.20 |
피드백 + 계획 + 주말에 바닐라JS로 크롬앱 만들기 (0) | 2021.08.09 |
내 PC에 웹서버를 설치해보자.(윈도우/bitnami WAMP) (0) | 2021.08.06 |
OAuth 2.0 관련 간단하게 머릿속을 정리해보자 (0) | 2021.08.05 |