어제는 라우터 분리하는 것 까지 했다.
어제 한 듯이, 라우터는 모듈러 만들어서 사용하는 것이다.
라우터에ㅔ도 app 처럼 get.post 등등
next('route') 는 라우터에 열견된 나머지 미들웨어들을 건너뛰고 싶을 때 사용한다.
/:id 는
/1234 가 id로 들어온다.
/ / / 로 오는 애들은 prarams 객체로 온다.
? ~ 는 쿼리 req.query 로 받는다.
예로
/users/1234?qkwl;kelw
이면
id 는 1234
query 는 qkwl 이다.
받을 때 위에 예시처럼 받아야한다.
id는 id로
query는 쿼리로 잘 들어오는걸 확인 !
/123?type=dsda&name=min //이런식으로 ?aa = 11 & // &로 분기를 나눠준다.
id 나 쿼리는 마지막에 붙이는게 좋다.
----
send 는 만능 메서드
redirect 는 응답을 다른 라우터로 보냅니다.
예를 들어 로그인 완료 후 다시 메인화면으로 돌아갈 때 res.redirect(화면 주소)를 하면됩니다.
res.status(404).send('Not') 이런 식으로 상태 코드를 넣을 수도 있다.
---
MySQL
지금까지는 변수에 저장하였다.
서버에 직접 배열을 만들었다.
이제는 DB에 넣을 것이다.
MySQL과 몽고디비이다.
MySQL은 SQL 언어 사용
몽고디비 NoSQL에 대표주자
데이터베이스는 관령성을 가지고, 중복이 없는 데이터들의 집합이다.
데이터베이스 관리하는 시스템을 DBMS 라고 한다.
RDBMS 는 관계형 데이터베이스 시스템이다. 대표적으로 MySQL 등등이 있다.
SQL이라는 언어를 사용한다.
MySQL 다운 받기
https://dev.mysql.com/downloads/installer/
웹커뮤니티 다운하기
로그인 할때 노땡스 하면댐
Custom으로 설치
두 개를 옮겨서 다운로드 하기
설치까지 완료
다음
페이지는 레거시로 !
qwer1234
비밀번호 설정
윈도우 서비스도 넥스트
다음페이지 EXCUTE
삭제할때는 mySQL로 지워야한다.
설치 완료
cmd
내부 찾을수 없습니다. 뜨면 환경변수를 바꿔야한다
C:\Program Files\MySQL\MySQL Server 8.0\bin //깔린 bin 폴더를 patch에 넣어준다.
만약에 저기서 안되면 저 폴더에서
mysql -h localhost -u root -p
cd C:\Program Files\MySQL\MySQL Server 8.0\bin 로 직접 타서 들어가서 접속 테스트한다.
만약이 것도 안되면 명령프롬프트를 관리자로 열어서 해보기
정상작동
패스워드 치면 들어가진다.
그냥 해본것 ㅋ
------
워크벤치
콘솔로는 데이터를 한 눈에보기 힘들어서
워크벤치라는 프로그램을 사용하면 시각적으로 확인가능
플러스버튼 -
커넥션이름 : localhost
하고 ok 누르기
비밀번호 치고
접속화면
SQL 문법을 축약해놓은 페이지가 있음
https://www.w3schools.com/sql/default.asp
필요할떄마다 보면 좋음.
SQL 도큐먼터리가 있긴함
너무 길어서 저길봄
데이터베이스 = Schema 는 같은 개념
먼저 Schema를 생성하고, 노드 .js 에서 사용하겠다 라는 개념
SQL 구문은 입력할때 마지막에 (;) 을 붙여야한다.
CREATE SCHEMA와 같이 미리 있는 구문은 예약어라고한다.
대문자로 쓰는 것이 좋다.
워크벤치 사용시
아직 어플라이 노노
Charset를 설정안하면 한글 깨짐
이렇게 세팅해줘야한다.
어플라이 하면
예약어를 사용해서 만들어준다.
어플라이 클릭
만들어 진것을 확인할 수 있다.
---
테이블을 만들어준다.
테이블이란 데이터가 들어 갈 수 있는 틀을 의미한다.
테이블에 맞는 데이터만 들어 갈 수 있다.
row ----->>
column 아래로
SQL에서 자료형이 존재한다
INT 정수
CHAR 고정 길이
VARCHAR 가변길이
TINYINT 는 1 또 0 불값으로 사용도 함
NOT NULL 반드시 채워져야한다.
NULL
UNSIGNED 기본적으로 음수를 지원하는데, 얘는 양수만 사용하게 한다.
AUTO_INCREAMENT 자동으로 증가 시키는 것
DEFAULT 기본값이 무엇인가
DEFAULT 에 now() 값을 넣으면 현재 시간이 들어간다.
now() 대신에 CURRENT_TIMESTAMP 라고 해도 된다.
UNIQUE INDEX 는 해당값이 고유해야하는지 대한 옵션
검색할떄 빨라질 수 있다.
COMMENT, DEFAULT CHARSET, ENGINE 테이블 자체에 대한 설정
DEFAULT CHARSET 언어 설정에 중요함
만들어진 테이블을 확인하는 명렁어
DECS 테이블이름 // 구조를 볼 수 있다.
--
PK NN
위에서 한 것들
---
Query 에서 만든 테이블을 사용하게 해야한ㄷ
번개 I 커서 있는건 그 줄만 실행
그냥 번개는 전체 실행
ctrl + enter : 커서 실행
ctrl + shift
use를하고
desc를 하면 테이블을 볼 수 있다 .
코멘츠 테이블 하나 더 만든다.
만들어준다.
그리고 이 두개의 관계를 설정한다.
그래서 관계형 데이타베이스라고한다.
홍길동이 댓글을 달면 댓글 테이블로 들어간다.
포린 키 들어가준다.
커멘츠에 commener 를 users의 테이블로 레퍼런스 시켜준다.
On Update
온 델릴트
케이스 에이드로
어플라이하기
----
CRUD 작업하기
Create, Read, UPdate, Delete
데이터베이스에서 가장 많으 쓰는 것
생성은 데이터를 넣는 작업이다.
처음에 use를 사용해서 해당 데이터베이스에 접속한다.
주석은 #
이렇게 데이터를 넣을 수 있다.
https://www.w3schools.com/sql/sql_insert.asp
참고하기
잘 들어갔는지 확인하기
https://www.w3schools.com/sql/sql_select.asp
* 모든것을 다 보겠다.
하나 더 추가해보기
-----
코멘츠 테이블에도 넣어보자
commenter의 1은 users 의 1 이다.
저장 할 수도있다.
ctrl + s 하면 쿼리를 저장 가능
C - 위에서 만들었따
R - 셀렉트로 읽기 했음
코드로 안 쳐도 바로 볼 수있다.
코드에 안쳐도 여기에 값을 넣어도 만들어줄 수 있다.
----
조회
selcet * from 은 올
특정 값만 조회가능
원하는 컬럼을 조회가능
users의 name과 매리드
검색의 조건을 달수도있다.
select name, age,maried from users where maried = 1 and age > 30;
매리가 1 인것과
나이가 30 이상 인것만 보여달라는 키워드이다.
where 뒤에 있다.
https://www.w3schools.com/sql/sql_where.asp
https://www.w3schools.com/sql/sql_and_or.asp
and, or, not 등등 조건을 붙을 수 있다.
OR는 하나라도 만족하는 것을 찾는다.
-----
ORDER BY 사용하면 정렬이 가능 함
DESC 는 내림차순
ASC는 오름 차순으로 정렬
ORDER BY age DESC;
select id, name FROM users ORDER BY id DESC;
또
select id, name FROM users ORDER BY id DESC LIMIT 1;
처럼 한 개만 보여달라고 할 수 있다.
select id, name FROM users ORDER BY id DESC LIMIT 1 OFFSET 1 ;
몇개를 건너뛸지 설정 할 수있다. OFFSET [건너뛸 숫자] // 1를 건너 뛸것이다.
'Unity > 서버' 카테고리의 다른 글
0616 _ 서버 (DB_3) (0) | 2021.06.16 |
---|---|
0615_서버 (DB_2) (0) | 2021.06.15 |
0610 _ 서버 (0) | 2021.06.10 |
0609 _ 서버 (0) | 2021.06.09 |
0608_ 서버 (0) | 2021.06.08 |