Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

행복한 개구리

Database 수업내용 21.06.11 MYSQL 기초 및 CRUD 본문

Database/수업내용

Database 수업내용 21.06.11 MYSQL 기초 및 CRUD

HappyFrog 2021. 6. 11. 11:51

라우터의 내용을 작성했다면 exports시켜 모듈화 해준다.

next(route)는 중간의 미들웨어를 건너뛸 때 사용된다.

 

 

send는 만능 메서드이다.

redirect는 응답을 다른 라우터로 보내버린다.

 

MySQL은 SQL 언어를 사용하는 관계형 데이터베이스의 대표 주자

몽고DB는 NoSQL의 대표주자이다.

 

데이터베이스는 관련성을 가지며 중복이 없는 데이터들의 집합이다.

이러한 데이터베이스를 관리하는 시스템을 DBMS(데이터베이스 관리 시스템)라고 한다.

 

 

데이터베이스를 DBMS중에서는 RDBMS라고 부르는 관계형 DBMS가 많이 사용된다. 대표적인 RDBMS로는 Oracle,  MySQL, MSSQL 등이 존재.

 

 

https://www.w3schools.com/sql/default.asp

 

SQL Tutorial

SQL Tutorial SQL is a standard language for storing, manipulating and retrieving data in databases. Our SQL tutorial will teach you how to use SQL in: MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, and other database systems. Start learn

www.w3schools.com

 

My SQL에서는 스키마와 DB가 같은 개념이다.

 

스키마를 생성하고 nodejs 데이터베이스를 사용하자.

SQL구문을 작성할 땐 마지막에 세미콜론을 붙여줘야 한다.

MySQL이 기본적으로 알고있는 구문이 예약어라고 부른다.

예약어는 대문자로 쓰는것을 권장한다.(가독성때문에)

 

 

한글이 깨질 수 있기때문에 utf8, utf8_general_ci로 바꿔준다.

 

 

테이블이란 데이터가 들어갈 수 있는 틀을 의미.

 

TINYINT는 -127~128의 정수를 저장. 0또는 1만 저장하면 bool처럼 쓸 수 있음

DATETIME은 날짜와 시간 정보를 담음

DATE의 시간정보만 담는 TIME도 있음

 

created_at에는 DEFAULT_now()라는 옵션이 있다. => DB저장시 현재시각이 저장된다. CURRENT_TIMESTAMP도 같다.

컬럼이 가진 기본키인 경우에 PRIMARY KEY옵션을 설정한다. => 주민등록번호같은 경우.

UNIQUE INDEX는 해당 값이 고유해야 하는지에 대 한 옵션이다. DB가 별도로 컬럼을 관리하므로 조회시 속도가 빨라진다.

 

DEFAULT CHARSET을 utf8로 설정하지 않으면 한글이 입력되지 않는다.

 

만들어진 테이블을 확인하는 명령어는 DESC 테이블형이다.

DROP TABLE은 테이블제거

 

PK = PRIMAL KEY

NN = NOT NULL = NULL값이 들어갈 수 없다.

UQ = UNIQUE INDEX

ZF = ZEROFILL = 0으로 채워짐 예) 04000, 020000

 

 

 

 

Query칸에 SQL코드작성

USE로 어떤 테이블에 접속할건지 설정

Ctrl + Enter : 커서위치실행

Ctrl + Shift + Enter : 전체실행

테이블 하나 더 만들어서 하기

 

댓글 테이블은 사용자 테이블과 관계가 있다.

특정사용자가 입력한 댓글을 저장하기 때문이다.

 

ForeignKey(외래 키)탭으로 이동하자. 

comments테이블의 commenter는 users테이블을 참조하고 comments테이블의 commenter인수가 users의 id를 참조한다.

 

 

 

 

CRUD작업  DB에서 가장 많이 하는 네가지 작업

Create, Read, Update, Delete

 

Create = 데이터를 생성하여 넣는 작업

조회하는 부분은 SELECT * FROM [테이블명]형식으로 적는다.

특정컬럼만 조회할 수도 있다.

 

SELECT에 조건을 걸어서 원하는 조건의 데이터를 찾을 수 있다.

 

 

이렇게 where과 and를 조합하여 원하는 조건의 데이터를 조회할 수 있다.

 

ORDER BY 키워드를 사용하면 정렬도 가능하다

=> DESC는 내림차순, ASC는 오름차순

-> 랭킹데이터 끌고올 때 유용할듯

 

LIMIT키워드로 보고싶은 ROW의 갯수를 정할 수도 있다.

ex) ORDER BY age DESC LIMIT 1 => age를 불러와서 내림차순으로 정리하는데, 1개의 row만 조회한다.

 

OFFSET = 건너뛸 숫자.

ex) ORDER BY age DESC LIMIT 1 OFFSET 1 => 1개의 ROW를 조회하지만, 1번은 건너뛴다.

 

Select Distinct 빼고 복습요망.