목록데이터베이스/MySQL (9)
Lsiron
mysql와 mysql workbench 설치, Node.js와 Express 기본 설정이 되어있다는 가정하에 MySQL로 게시판 CRUD 짜는 방법을 알아보자. 1. 패키지 설치터미널에 아래와 같이 명령어를 입력하여, mysql2를 설치해주자.$ npm install express mysql2 2. MySQL 데이터베이스 설정MySQL 데이터베이스에 아래와 같이 테이블을 생성해보자.CREATE TABLE posts ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP); 위 코드를 Mysql..
서브쿼리란? 서브쿼리(Subquery)는 SQL 쿼리 내에 포함된 또 다른 SQL 쿼리이다. 서브쿼리는 쿼리 결과를 제한하거나 특정 조건을 만족하는 데이터를 선택하는 데 사용된다. 서브쿼리 특징알려지지 않은 기준을 이용한 검색에 유용하다. 메인 쿼리가 실행되기 이전에 한 번만 실행한다.한 문장에서 여러 번 사용 가능하다.서브쿼리 주의사항서브쿼리는 괄호와 함께 사용되어야 한다.서브쿼리 안에서 ORDER BY 절은 사용할 수 없다.서브쿼리는 연산자의 오른쪽에 사용돼야 한다.서브쿼리는 오로지 SELECT문으로만 작성 할 수 있다.서브쿼리 종류 단일 행 서브쿼리 (Single-row Subquery): 결과가 한 행만 나오는 서브쿼리 이다. 서브쿼리가 결과를 1개의 값만 반환하고, 이 결과를 메인쿼리로 전달하는..
인덱스(Index)란?인덱스는 데이터베이스 테이블의 데이터를 빠르게 검색하기 위해 사용되는 데이터 구조이다. 인덱스는 책의 색인처럼 작동하며, 테이블의 특정 열(column)에 대한 값을 기반으로 빠른 조회를 가능하게 한다. 인덱스를 사용하면 데이터 검색, 정렬, 집계 작업의 성능이 크게 향상된다. 인덱스를 사용하는 상황인덱스를 사용하는 상황은 다음과 같다.검색 속도 향상:테이블에서 특정 조건을 만족하는 데이터를 빠르게 찾기 위해.예: 특정 고객 ID로 주문을 검색할 때.정렬 및 범위 조회:데이터를 정렬하거나 특정 범위 내의 데이터를 조회할 때.예: 날짜 범위 내의 주문을 조회할 때.유일성 보장:특정 열의 값이 중복되지 않도록 하기 위해.예: 유니크한 이메일 주소를 보장하기 위해.조인 성능 향상:여러 테..
함수의 종류는 크게 3가지로 나뉜다.1. 행 함수 : 데이터 값을 계산하거나 조작하는 것.2. 그룹 함수 : 행의 그룹을 계산하거나 요약하는 것.3. 열의 데이터타입을 변환 SQL에서 데이터를 다루는 다양한 함수와 키워드를 통틀어 "집계 함수"와 "제어 키워드"라고 부를 수 있다. 집계 함수 (Aggregate Functions)집계 함수는 여러 행의 데이터를 하나의 값으로 요약하는 데 사용된다. 주요 집계 함수로는 다음과 같은 것들이 있다. 1. COUNT() : 행의 개수를 셀 때 사용한다. 즉, 검색한 결과의 데이터의 개수를 가져오는 내장함수 이다. ( NULL 인 데이터는 제외한다. ) 사용 상황: 특정 조건을 만족하는 행의 수를 알고 싶을 때. -- 예시: 전체 학생 수를 구할 때SELECT ..