목록웹 개발/DB | MYSQL (8)
dukDukz
기본 세팅을 마치고 (npm i express) 1. 시퀄라이즈 세팅 npm i sequelize 클래스 사용 위한 패키지 npm i mysql2 DB 접속을 위한 패키지 npm i sequelize-cli npx를 사용하기 위한 패키지 (*폴더 만들어줘야 하니까) npx sequelize init localhost -u "root" -p "port" -x "password" -e "mysql" [순서] 더보기 npm install sequelize-auto sequelize-auto -o "./models" -d class -h "localhost" -u "root" -p "3306" -x "root" -e mysql 이게 안되면 npm install -g sequelize-auto npx sequel..
class 라는 db 안에 있는 테이블들 내가 사용하는건 curriculum skill curr_id = 4 인것만 골라서 그걸 A 라고 부른다. skill_item 얘는 B 라고 부른다 SELECT B.name,B.type FROM (SELECT * FROM skill WHERE curr_id = 4) AS A LEFT JOIN skill_item AS B ON A.item_id = B.id; B의 name 과 type 만 가져오는데 A의 item_id 와 B의 id 가 같은 것만 가져온다. A 옆에 B를 붙여라 결과가 이렇게 나온다.
npm : 인터넷에서 install 파일을 다운 받는다고 생각하면 된다. npx : 인터넷에서 install 파일을 받으면 설치한 install을 실행한다고 생각하면 된다. sequelize 다운받고 npx 실행하면 config.json models/index.js // 이 파일이 진짜 개중요 생성됨 index.js 안에 fs 부분 지우고 [환경세팅 부분] 1. db 접속정보 설정 models/index.js 에 const env = process.env.NODE_ENV || 'development'; config.json에 process.env 이 부분이 없으면 development를 쓴다는 얘기 - 가서 보면 없음 그래서 development 로 쓴다. db 접속 초기 설정은 config.json 에..
MVC Model db 불러오는 영역 - models 폴더 안에 있는게 다 model 내가 사용할 데이터를 객체로 저장하는 공간을 Model View UI 부분 -views 안에 있는게 다 view 실질적으로 눈에 보이는 부분이 view Controller 모델에서 바로 뷰로 보여줄 수 없어서 중간에서 조작해주는것 : 기능들 -sql구문같은거 model과 view를 연결해주는 부분이 Controller 데이터를 조작해야지 결과물을 얻을 수 있는 부분 예) 페이징 - Controller 에서 조작한다고 보면 됨 1. app.js 초기 작업 app.js = server.js 에서 가장 초기 작업으로 생각하면 된다. //서버를 실행할때 이거로쓰겠다 const express = require('express')..
테이블 여러개를 엮어서 사용해야 한다. boardTB 와 userTB에 동일한 userId 값으로 데이터를 각각 하나씩 넣어준다. SQL Join On 구문 이러한 JOIN 구문을 쓰면 userId 값이 일치하는 녀석들을 묶어서 하나의 테이블로 보여주게 된다. 헤멨던 부분 더보기 1. 새로 파일을 만들어야함 homepage 데이터베이스는 안쓴다!!! const config = { host : 'localhost', user : 'root', password : 'root', database : 'board', } 사용하는 database도 바꿔주고, board.js에서 각각의 쿼리문에서 board 부분을 boardTB 로 board_name을 userId로 바꿔준다. list, write. html에서 ..
connection pool 로 연결해놓음 (board) dbconn.js 각각의 쿼리문을 이런식으로 변경해주면 된다.
게시판 개요 코드 server.js 더보기 const express = require('express'); const nunjucks = require('nunjucks'); const bodyParser = require('body-parser'); const mysql = require('mysql'); const app = express(); app.set('view engine', 'html'); nunjucks.configure('views', { express: app, }) app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static('public')); let connection = mysql.createConnec..
1.Primary key 주민번호와 같은 구별 값이 되는 숫자 사실 userid 값도 겹치지 않게 pk 값을 줘야함 2. not null 참고 블로그 링크 더보기 tcpschool.com/mysql/mysql_constraint_notNull NOT NULL 제약 조건을 설정하면, 해당 필드는 NULL 값을 저장할 수 없습니다. 즉, 이 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 합니다. CREATE TABLE 테이블이름 ( 필드이름 필드타입 NOT NULL, ... ) 3. 검색 % 참고 블로그 링크 더보기 bactoria.tistory.com/entry/MySQL-like%EB%AC%B8-%ED%8A%B9%EC%A0%95-%EB%AC%B8%EC%9E%90-%ED%8F%AC%ED%95%A..