데이터베이스
데이터를 저장하는 집합소
RDBMS
관련된 데이터에 대한 저장/접근 제공 (MySQL, ORACLE, MariaDB 등..)
데이터베이스 용어
MySQL
mysql u- root -p
- 사용자명 root, 비밀번호 이용해 mysql 접속
SQL 문법
데이터베이스 혹은 테이블을 정의하는 언어
CREATE
- 생성, ALTER
- 수정, DROP
- 삭제, TRUNCATE
- 테이블 초기화
CREATE DATABASE 이름 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- 한글 인코딩
CREATE TABLE 테이블명 (
필드1 형식,
필드2 형식...
id VARCHAR(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
birthday DATE NOT NULL
);
테이블 특정 컬럼을 삭제하거나 추가, 변경
//컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
//컬럼 추가
ALTER TABLE 테이블명 ADD 컬럼명 타입;
//속성 변경
ALTER TABLE 테이블명 MODIFY 컬럼명 타입;
DROP TABLE 테이블명;
TRUNCATE TABLE 테이블명;
DROP
은 테이블 자체를 삭제, TRUNCATE
는 테이블의 데이터들을 모두 초기화
데이터베이스의 내부 데이터 관리
SELECT
- 데이터 조회, INSERT
- 데이터 추가, UPDATE
- 데이터 수정, DELETE
- 데이터 삭제
컴퓨터 소프트웨어가 가지는 기본적인 처리기능
Create
- 생성, INSERT
Read
- 읽기, SELECT
Update
- 갱신, UPDATE
Delete
- 삭제, DELETE
INSERT INTO 테이블명 (필드1, 필드2..) VALUES (값1, 값2...);
INSERT INTO 테이블명 VALUES (값1, 값2...); //모든 컬럼에 추가
SELECT * FROM 테이블명;
SELECT 필드1, 필드2 FROM 테이블명
WHERE 필드1 = 조건값1
ORDER BY 필드1 ASC;
WHERE 연산자
BETWEEN a AND b
- a와 b 값 사이에 있으면 참
IN (list)
- 리스트 값중에서 하나라도 일치하면 참
LIKE '문자열'
- 비교문자열과 일치하면 참(%
- 0개 이상, _
- 1개 이상 단일문자)
IS NULL
- NULL값인 경우 참
UPDATE 테이블명 SET 필드1 = 값1 WHERE 필드2 = 조건2;
DELETR FROM 테이블명 WHERE 필드1 = 값1;
MVC 패턴
애플리케이션을 3가지 역할로 구분하여 사용자가
Controller
조작 시Model
을 통해 데이터를 가져오고, 그 데이터를View
를 이용해 사용자에게 보여지는 방식
Model - 데이터를 처리
View - UI 처리(사용자에게 보여지는 부분)
Controller - View와 Model을 연결
Controller
- view와 model 연결
Model
- 데이터 처리
routes
- url 경로 설정
views
- ui 관련 처리
app.js
//app.js
import router from './routes';
app.use('/', router);
-> 위 코드 이용해 특정 시작 url의 역할 구분 가능
routes/index.js
//routes/index.js
import * as controller from '../controller/mainController.js';
const router = express.Router();
router.get('/', controller.main);
router.get('/comments', controllelr.comments);
export default router;
-> 경로를 controller와 연결해 설정 가능
controller/mainController.js
export const main =(req, res)=> {
res.render('index');
};
export const comments =(req, res)=> {
res.render('comments');
};
404 error 라우팅
app.get('*', (req, res)=> {
res.render('404');
});
큰 도움이 되었습니다, 감사합니다.