본문 바로가기

STUDY/SQL, DB

(21)
[MySQL] WITH RECURSIVE 구문 SQL에서 재귀 쿼리 짤 때 사용하는 구문이다. 구문 작성하는 방법이 좀 독특한데, 아래와 같다. WITH RECURSIVE cte_count AS ( -- Non-Recursive 문장( 첫번째 루프에서만 실행됨 ) SELECT 1 AS n UNION ALL -- Recursive 문장(읽어 올 때마다 행의 위치가 기억되어 다음번 읽어 올 때 다음 행으로 이동함) SELECT n + 1 FROM cte_count WHERE n < 3 ) SELECT * FROM cte_count; 1. 메모리 상에 가상의 테이블을 저장한다. 2. 반드시 UNION 사용해야한다. 3. 최소한 하나의 비반복문(Non-Recursive)이 있어야 한다. 처음 한번만 실행된다. 4. 서브쿼리에서 바깥의 가상의 테이블을 참조하..
[SQL] 데이터 타입 훑어보기 숫자는 int, 문자는 str, 날짜는 datetime... 으로만 알고 있었던 나를 위해 내가 준비한! SQL 데이터 타입 훑어보기. Numeric Data 이렇게 굉장히 다양한 데이터 타입이 있다. 굳이 알아야 하느냐? => 네 알아야 합니다! => 왜 알아야 하나요? 예시 1. 정수형 데이터의 경우 현업에서는 DB에 저장된 데이터를 읽어오는 속도도 중요하고, 데이터가 DB 내에서 어느 정도의 용량을 차지하는지도 중요하다. 비용이니까. 그래서, 예를 들어 작은 범위의 숫자를 표현한다면 굳이 INT를 쓸 필요 없이, Storage를 적게 차지하는 TINYINT나 SMALLINT를 써 주는 것이 효율적이다. 예시 2. 실수형 데이터의 경우 굉장히 작은 자리의 소수점도 정확하게 표현해야 하는 업계가 있다...
[DBeaver] Data import하기 지난번 포스팅에서는 DB에 연결하는 법을 다루었다. 그리고 다음 포스팅에선 데이터를 적재하겠다고 했는데... [STUDY/SQL, DB] - [DBeaver] DB에 "처음"연결하기 [DBeaver] DB에 "처음"연결하기 지난 포스팅에선 DBeaver 간단 소개, 설치, 환경설정, 단축키 등을 소개했다. [STUDY/SQL, DB] - [DBeaver] 설치, 환경설정 + 단축키 [DBeaver] 설치, 환경설정 + 단축키 DBeaver ... 뭔가요? DBeaver(디비버) 란? MySQL, k-wien1589.tistory.com 시간 끌 것 있나 바로 해볼 것이다. 1. 우선 데이터를 담을 DB를 만들어 주어야 한다. Databases 마우스 우클릭 - Create New Databases 선택 ..
[DBeaver] DB에 "처음"연결하기 지난 포스팅에선 DBeaver 간단 소개, 설치, 환경설정, 단축키 등을 소개했다. [STUDY/SQL, DB] - [DBeaver] 설치, 환경설정 + 단축키 [DBeaver] 설치, 환경설정 + 단축키 DBeaver ... 뭔가요? DBeaver(디비버) 란? MySQL, PostSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS access, Teradata, Firebird, Apach Hive, Phoenix, Presto... 등등 거의 모든 데이터 베이스에 연결해서 쿼리를 보낼 수 있는 툴 k-wien1589.tistory.com 이번 포스팅에선, 예고와 같이 DBeaver에서 DB를 처음 연결하는 과정을 을 다루려고 한다. 본인도 처음이기에, 직접 하나하..
[DBeaver] 설치, 환경설정 + 단축키 DBeaver ... 뭔가요? DBeaver(디비버) 란? MySQL, PostSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS access, Teradata, Firebird, Apach Hive, Phoenix, Presto... 등등 거의 모든 데이터 베이스에 연결해서 쿼리를 보낼 수 있는 툴이다. 장점 1) 오픈소스 2) 무료 3) 직관적인 인터페이스 4) 다양한 DB 지원 5) Data import, export 쉬움 6) ERD 그려볼 수 있음 단점 무거운 쿼리를 실행 시킬 경우 다운 될 수 있음. 설치부터 환경설정까지! 1. 우선 설치해보자. 아래 링크에 접속하면 바로 DBeaver 설치파일을 다운로드 할 수 있다. 윈도우인지, 맥인지, 리눅스인지 등등 ..
[MySQL] 대용량 csv 파일을 workbench에 업로드하기(Window OS) 지난 12월, workbench에 데이터를 업로드 할 때 무슨무슨 에러가 떠서... 이렇게 저렇게 했더니 해결되었다... 라는 글을 포스팅했었다. [STUDY/SQL] - [MySQL] - Row import failed with error: ("Data truncated for column at row 1 1265") [MySQL] - Row import failed with error: ("Data truncated for column at row 1 1265") SQL로 개인 프로젝트를 시작해보고자, 캐글에서 한 영국 온라인 쇼핑몰의 데이터를 다운받아 Workbench에 업로드했다 https://www.kaggle.com/datasets/mashlyn/online-retail-ii-uci Onlin..
INFORMATION_SCHEMA 1. INFORMATION_SCHEMA 란 무엇인가 ?? SQL 서버 내에 존재하는 DB들의 메타데이터를 담고 있는, 읽기 전용(Read-only) 가상 DB 라고 할 수 있다. MySQL 외에 PostgreSQL, SQL Server 등 대부분의 DBMS는 INFORMATION_SCHEMA를 사용할 수 있게 되어 있고, 실제로 데이터를 담고 있는 것이 아니라 서버에서 데이터를 조회해서 가져오는 것이다. 이를 통해 사용자는 여러 DB들의 메타데이터를 조회할 수 있다. 읽기 전용이기에 조회만 되고 수정은 안 된다. ** 여기서 잠깐, 메타데이터란건 뭘까? => 메타데이터는 다른 데이터를 설명하거나 분류하거나 이해하는 데 도움을 주는 정보로, 쉽게 말해 "데이터의 데이터" 라 할 수 있다. 테이블, 컬럼, ..
[MySQL] - GROUP_CONCAT() Leet code에서 아래와 같은 문제를 접했다. [코딩테스트/SQL - Leetcode] - 1484. Group Sold Products By The Date 1484. Group Sold Products By The Date Table Activities: +-------------+---------+ | Column Name | Type | +-------------+---------+ | sell_date | date | | product | varchar | +-------------+---------+ There is no primary key (column with unique values) for this table. It may contain duplicates. k-wien1589.t..