| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- heap
- stack
- react
- 소유권
- list
- HashMap
- Set
- Python
- Split
- MySQL 서버 구축
- Algorithm
- 원격 데스크탑
- 환경설정
- 메소드
- MySQL
- 연관 함수
- 파이썬
- join
- MongoDB
- pandas
- Rust
- 러스트
- Sort
- 구조체
- in
- 알고리즘
- array
- matplotlib
- generic
- numpy
- Today
- Total
목록DataBase/MySQL (22)
미생
1. 인덱스의 정의인덱스(Index)는 테이블의 특정 컬럼(column)에 대해 검색 속도를 높이기 위해 추가로 만든 자료 구조책의 목차처럼, 원하는 데이터가 테이블 전체를 뒤지지 않고도 바로 위치를 찾을 수 있게 해주는 구조2. 인덱스의 종류1) B-Tree 인덱스 (가장 흔함)균형 이진 트리(B+Tree) 구조 사용장점:특정 값 검색: O(log n)범위 검색: 효율적 (e.g., WHERE age BETWEEN 20 AND 30)사용 예시: PRIMARY KEY, UNIQUE 인덱스2) Hash 인덱스해시 테이블 기반장점:정확한 값 검색: O(1) 평균단점:범위 검색에는 부적합사용 예시: MySQL MEMORY 엔진3) 기타Full-text 인덱스: 문자열 검색 최적화Spatial 인덱스: 지리정보..
■ 행, 열 변환 작업 테이블의 행 데이터를 특정 기준으로 열 데이터로 변환하는 작업 ■ 예시 과일 가게에서 판매하고 있는 과일은 [수박], [사과], [오렌지] 라고 특정할때, 날짜 별로 과일들의 수량을 계산하여 통계치를 구하려고 한다. 왼쪽은 과일이 판매될때 마다 작성한 데이터이고, 오른쪽은 구하고자 하는 결과 데이터이다. ■ 작업 첫번째, 과일 가게 가계부 테이블를 생성한다. CREATE TABLE `tbl_fruit_shop` ( `pay_time` date NOT NULL COMMENT '구매 날짜', `fruit` varchar(50) NOT NULL COMMENT '과일', `cnt` int(11) NOT NULL COMMENT '수량' ) 두번째, 과일 가게 가계부 테이블를 조회했을 때 결..
■ AUTO_INCREMENT 초기화 ALTER TABLE [테이블명] AUTO_INCREMENT=1; SET @COUNT = 0; UPDATE [테이블명] SET [컬럼명] = @COUNT:=@COUNT+1; ■ 예시 인덱스는 1부터 시작하며 로우가 추가됨에 따라 1씩 증가하는 컬럼으로 수정 ALTER TABLE tbl_user AUTO_INCREMENT=1; SET @COUNT = 0; UPDATE tbl_user SET user_id = @COUNT:=@COUNT+1;
주의 !! mysql 5.7 이하 미지원 ■ WITH RECURSIVE 문 메모리 상에 가상의 테이블을 저장 재귀 쿼리를 이용하여 실제로 테이블을 생성하거나 데이터삽입(INSERT)을 하지 않아도 가상 테이블을 생성할 수 있다. WITH RECURSIVE 테이블명 AS( SELECT 초기값 AS 컬럼별명1 UNION ALL SELECT 컬럼별명1 계산식 FROM 테이블명 WHERE 제어문 ) ■ 예시 h(컬럼)이 초기값 1 부터 제어문에 합당하는 5까지의 데이터를 갖는 가상 테이블 생성 WITH RECURSIVE CTE AS( SELECT 1 AS h UNION ALL SELECT h+1 FROM CTE WHERE h
■ CASE 문 ※ 사용법 WHEN~THEN 절 : 컬럼명에 해당하는 데이터가 조건에 합당할경우 해당 조건에 결과를 반환한다. ELSE 절 : 상위 조건에 모두 합당하지 않을경우 ELSE 의 결과를 반환한다. CASE 컬럼명 WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 : : WHEN 조건3 THEN 결과3 ELSE 결과4 END ■ 예시 1) CASE_TEST 테이블 데이터 확인 2) TEST_COL 컬럼 CASE 문 처리 SELECT (CASE TEST_COL WHEN 'A' THEN 1 WHEN 'B' THEN 2 WHEN 'C' THEN 3 ELSE 4 END) AS TEST_COL FROM CASE_TEST; 3) 결과 확인 CASE_TEST 테이블의 TEST_COL 컬럼의 ..
■ DATE_FORMAT 형식 종류 형식 설명 %a 약식 요일 이름 ( Sun.. Sat) %b 약식 월 이름 ( Jan.. Dec) %c 월, 숫자 ( 0.. 12) %D 영어 접미사 달의 날 ( 0th, 1st, 2nd, 3rd, ...) %d 월의 일, 숫자 ( 00.. 31) %e 월의 일, 숫자 ( 0.. 31) %f 마이크로 초 ( 000000.. 999999) %H 시간 ( 00.. 23) %h 시간 ( 01.. 12) %I 시간 ( 01.. 12) %i 분, 숫자 ( 00.. 59) %j 년의 일 ( 001.. 366) %k 시간 ( 0.. 23) %l 시간 ( 1.. 12) %M 월 이름 ( January.. December) %m 월, 숫자 ( 00.. 12) %p AM 또는 PM %r..