Daniel: The Dev Story
Daniel: The Dev Story
    • 홈
  • 분류 전체보기
    • 프로젝트
    • Spring
    • NodeJS
    • Basics
    • Git
    • DB
    • Algorithm
    • Error
    • Private
      • Database
      • Tip
  • 글쓰기
  • 관리자
  • myoskin

      [mySQL] 데이터베이스 테이블의 row 데이터 수정 및 삭제

      수정한다, 갱신한다 UPDATE SET = , = , ... WHERE UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; (예시 SQL문) users 테이블에서 아이디가 daniel12인 사용자의 이메일 주소를 변경하려면 다음과 같이 작성할 수 있다. UPDATE users SET email = 'john_new@example.com' WHERE id = 'daniel12'; 주의! 만약 WHERE을 쓰지 않으면 모든 row의 값이 해당 값으로 바뀐다. DELETE FROM WHERE DELETE FROM table_name WHERE condition; (예시 SQL문) users 테이블에서 아이디가 daniel..

      DB 2023.05.21

      [mySQL] 데이터베이스 테이블(Table)에 데이터 추가하기

      새로운 row 추가 INSERT INTO (, ,...,...) VALUES (, ,...,...); INSERT INTO 테이블_이름 (컬럼이름, 컬럼이름, 컬럼이름, 컬럼이름,...) VALUES ('값1', '값2', '값3', '값4'); (예시SQL문) students 테이블에 id, name, grade, email 컬럼에 추가할 값들을 설정했다. INSERT INTO students (id, name, grade, email) VALUES (1, 'John Doe', '3rd', 'johndoe@example.com'); 실행하면 새로운 row가 생성된다. 여러 개의 row 추가 INSERT INTO students (id, name, grade, email) VALUES (2, 'Jane..

      DB 2023.05.20

      [ForMe] 입사 후 데이터베이스 현황 파악하는 방법

      보호되어 있는 글입니다.

      Private 2023.05.20

      [mySQL] 서브쿼리 중첩의 문제점과 뷰(view) 이해하기

      서브쿼리 이해하기 뷰(view): 가상테이블, 데이터베이스의 여러 테이블에서 얻은 정보를 하나의 테이블처럼 보여주는 도구이다. 복잡한 쿼리를 뷰로 만들어 놓고 다른 테이블에서 그 뷰를 마치 테이블 처럼 사용할 수 있다. 아래 SQL문은 '고객'과 '주문' 테이블이 있고, 고객별로 총 주문 금액을 알게 해 준다. SELECT customers.id, customers.name, SUM(orders.amount) as total_order_amount FROM customers INNER JOIN orders ON customers.id = orders.customer_id GROUP BY customers.id; 이 쿼리를 customer_orders라는 뷰로 아래와 같이 만들 수 있다. ( // 는 주석..

      DB 2023.05.20

      [mySQL] 서브쿼리를 이용한 데이터 분석

      command + f 혹은 Ctrl + f를 활용하여 검색, 또는 블로그 하단 검색 Input 활용해 검색 목차 SELECT 절에서 사용되는 서브쿼리 WHERE 절에서 사용되는 서브쿼리 FROM 절에서 사용되는 서브쿼리 서브쿼리를 나누는 또다른 기준, 상관 서브쿼리와 비상관 서브쿼리 서브쿼리란 무엇인가? (이해하기) SELECT 절에 사용된 서브쿼리(스칼라 서브쿼리) - 서브쿼리가 리턴하는 값이 하나의 column 하나의 row 예를 들어, 우리가 학생들의 시험 점수를 가지고 있고, 각 학생의 점수가 전체 평균 점수와 얼마나 차이가 나는지 알고 싶다면 다음과 같이 작성이 가능하다. SELECT student_name, score, (SELECT AVG(score) FROM scores) - score A..

      DB 2023.05.19

      [mySQL] 서브쿼리(subquery)에 대해 이해하기

      서브쿼리는 쿼리 안의 쿼리이다. 바깥의 큰 쿼리가 진행되기 전에 안의 작은 쿼리를 먼저 실행시킨다. 예를 들어, 피자집에서 메뉴 중 가장 비싼 피자를 알고 싶을 때, 서브쿼리를 사용하면 다음과 같다. SELECT name FROM pizza WHERE price = (SELECT MAX(price) FROM pizza); // 서브쿼리 이 부분에서 (SELECT MAX(price) FROM pizza) 부분이 서브쿼리이다. 이 서브쿼리는 pizza 테이블에서 price 컬럼에서 가장 큰 값을 찾고, 큰 쿼리에서 그 값과 같은 값의 피자를 찾는다.

      DB 2023.05.19

      [mySQL] 조인(JOIN) 작업에 대해 알아보기, 온라인 사전

      Foreign Key(외래키): 다른 테이블에서 특정 row를 참조할 수 있게 해주는 컬럼. 이 글에서 '연산'이란?: 테이블을 합치는 작업 command + f 혹은 Ctrl + f로 원하는 구문 키워드 검색하면 유용하다. 목차 결합연산 집합연산 ON과 USING ON과 WHERE의 차이 결합연산 JOIN: 여러 테이블 연결 LEFT OUTER JOIN LEFT OUTER JOIN ON : 왼쪽에 있는 테이블을 기준으로 를 가져오고 에 맞게 정렬한다. SELECT item.id, item.name, stock.item_id, stock.inventory_count FROM copang_main.item LEFT OUTER JOIN copang_main.stock ON item.id = stock.ite..

      DB 2023.05.18

      [mySQL] 데이터 분석 함수 온라인 사전

      ** JavaScript를 공부하여 인자(아규먼트, Argument) 라는 단어가 편하여 인자 라는 단어를 사용함 ** 와 같이 작성이 되어 있는데, 는 빼고 입력하자 Aggregate Function(집계 함수) COUNT(): row의 개 수 구하기 NULL의 개수는 빼고 구함. 모든 row를 구하고 싶으면 COUNT(*)를 작성하면 된다. MAX(): 가장 큰 값 구하기 #최댓값 #최대값 MIN(): 가장 작은 값 구하기 #최솟값 #최소값 AVG(): 평균 값 구하기 NULL은 포함하지 않는다. SUM(): 인자로 받은 값의 합을 구한다. STD(): 인자로 받은 값의 표준편차를 구한다. Mathematical Function (산술 함수) ABS(): 절대값을 구해준다. SQRT(): 제곱근을 구..

      DB 2023.05.17

      [mySQL] 나를 위한 mySQL Workbench 온라인 사전

      Database 추가하기 query 창: CREATE DATABASE 테이블 생성 1. SQL문으로 생성하기 2. .csv 파일로 추가하기 데이터타입(Datatype) TEXT: 문자(string): 제한 없음 VARCHAR(최대 문자 수): 문자열: 최대 길이 설정 가능 INT: 정수(Number. Integer의 약자) DOUBLE: 실수(Number) DATE: 날짜(date) DATETIME: 날짜와 시간(yyyy-mm-dd hh:mm:ss) Primary Key 설정 (실무에선 '기본키'라고도 함) query 창에 PK 네모박스 체크, NN(Not Null)은 자동으로 체크됨. 더보기: Primary Key의 종류 2가지 더보기 Primary Key(기본키)의 종류 2가지 1. Natural K..

      DB 2023.05.17

      [JS] 객체의 프로퍼티에 접근할 때 유용한 3가지

      Object.keys()Object.entries()for...in Object.keys() 이 메소드는 인자로 받은 객체의 모든 key를 배열로 리턴한다.let user = { name: "John", age: 30, city: "Seoul"};let keys = Object.keys(user);console.log(keys); // ["name", "age", "city"] 활용방법Database의 데이터를 수정할 때 사용하면 좋다. // app.put 라우터 핸들러 내부 모습이다. 생략된 코드가 있으니 이해용도로만 보자const { id } = req.params;const newInfo = req.body;const member = await Member.findOne({ where: {..

      NodeJS 2023.05.16

      [Node] findOne 메소드와 조건추가 이해하기

      findOne메소드란? findOne메소드 사용예시 (조건 넣기) findOne과 Promise findOne메소드란? 주어진 조건을 만족하는 첫 번째 레코드를 반환한다. 주로 고유한 값(예: 사용자 ID 또는 이메일 주소)을 가진 레코드를 찾을 때 사용된다. 더보기: 레코드란? 더보기 레코드 데이터베이스 테이블의 한 행을 나타낸다. 하나의 레코드는 테이블의 각 컬럼에 해당하는 여러 개의 필드로 구성된다. 쉽게 얘기하면 하나의 데이터를 말한다. findOne메소드 사용예시와 조건추가 findOne메소드는 객체 안에서 속성값(프로퍼티)으로 조건들을 받는다. findAll() 역시 마찬가지이다. 각 조건은 {}로 조건값을 받는 것도 있고, 배열로 받는 것들도 있다.(예를 들면 order) User = 모델(..

      NodeJS 2023.05.15

      [Node] findAll 메소드 활용하여 Database 조회하기

      Sequelize를 사용하였고, ClientInfo 라는 모델을 예시로 작성 할 예정이다. 이미 데이터베이스와 모델을 연결하였다는 가정 하에 진행한다. 더보기: 모델이란? 더보기 모델(Model)은 데이터베이스(Database)에 있는 테이블(Table)의 데이터를 CRUD하는 역할을 한다. 본문에서는 CLIENT 라는 데이터베이스에 ClientInfo 라는 모델을 연결하여 사용한다. findAll() 메소드는 Promise 객체를 리턴한다. // 데이터 전체 조회 만약 .then() 이나, async...await...을 사용하지 않으면 코드를 다 작성하고 GET HTTP 메소드로 요청하였을 때 빈 객체가 온다. 더보기: 코드리뷰 더보기 findAll() 에서 데이터를 조회하고, 조회한 데이터를 Pro..

      NodeJS 2023.05.15

      [JS] Promise 객체 이해 및 체이닝에 대해 이해하기

      promise란?promise이용하기 Promise란?Promise는 JavaScript에서 비동기 작업을 수행할 때 사용하는 객체이다.Promise는 어떤 결과를 보장하는데, 그 결과는 성공이 될 수도 있고, 실패가 될 수도 있다. 세 가지 상태가 있는데 다음과 같다 1. Pending(대기상태): 아직 실행 중인 상태이다.2. Fulfilled(작업성공): 작업한 결과가 성공적으로 완료된 상태.3. Rejected(작업실패): 작업한 결과가 실패한 상태. Promise활용많은 메소드가 promise를 반환한다. 대표적으로 fetch()가 있으며 궁금하면 더 찾아보기를 바란다.Promise는 체이닝을 하여 코드를 작성하는데, 다음과 같은 형식으로 작성된다.fetch('http://api.exampl..

      NodeJS 2023.05.14

      [Node] mySQL과 Sequelize를 이용한 데이터베이스 설정

      패키지 설치(mysql2, sequelize, sequelize-cli) 프로젝트의 이상적인 구조를 만들기 위한 디렉토리 및 파일 생성 DB 정보 설정 데이터베이스 생성 테이블, 모델 생성 데이터베이스에 테이블 생성 ⛔️ 이 글 보다는 다음 글을 참고하는 것을 권장합니다. [TypeScript] 타입스크립트로 sequelize를 활용하여 데이터베이스 연결 준비사항: express, @types/express, mysql2, sequelize, sequelize-cli, dotenv 시작하기 sequelize init으로 config, migrations, models, seeders디렉토리를 생성한다. 이 디렉토리들을 src 디렉토리 안에 넣어도 괜찮고, 밖에 developer-holychan.tist..

      NodeJS 2023.05.14

      [JavaScript 지식] ORM이란 무엇인가?

      ORM이란? 데이터베이스에 대한 *CRUD작업을 보다 효율적으로 수행하기 위해 사용하는 도구 중 하나이다. 객체 지향 언어에서 사용하는 타입을 SQL 데이터베이스의 타입으로 자동 변환해주는 역할을 한다. CRUD 이해하기 이 글에 포함된 더보기 참고 왜 ORM을 사욜할까? 주요 장점은 SQL 쿼리 없이 데이터베이스 작업을 할 수 있다는 것이다. 코드의 가독성을 높이고, 데이터베이스 엔진에 대한 의존성을 줄여주며, 개발 시간을 단축시켜준다.

      Basics 2023.05.14

      [Express] express.json 메소드 이해하기

      app.use(express.json())의 역할express 내부 코드에서 json 메소드를 찾아보자json 메소드는 사실... app.use(express.json()); 의 역할HTTP에서 보내오는 JSON 형식의 요청을 JavaScript 객체로 변환하여 사용하게 해준다.사용 방법은 아래 코드와 같이 사용하면 된다. const express = require('express');const app = express();app.use(express.json()); express 내부 코드에서 json 메소드를 찾아보자'exports.json = bodyParser.json' 에서 exports는 넘어가도 상관없다. 다음 내용으로 넘어가자 json 메소드는 사실...여기서 'bodyParser...

      NodeJS 2023.05.13

    1···45678
    Daniel: The Dev Story

    찾기

    공지

    최근 글

    인기글

    최근 댓글

    캘린더

      7 / 2025
      일 월 화 수 목 금 토
      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 31

    글 보관함

    태그

      알고리즘java자바코딩백준gitBOJ타입스크립트AlgorithmMYSQL

    즐겨찾기

    방문자 수

    • Today
    • Yesterday
    • Total
    myoskin

    티스토리툴바