목록SQL/MySQL (19)
데이터로그😎
데이터 모델링이란? 데이터 모델링 현실 세계의 데이터를 데이터 베이스로 옮기는 과정 데이터 베이스 설계의 핵심 과정 데이터 모델 개념적 데이터 모델 개체 - 관계 모델 논리적 데이터 모델 데이터베이스의 논리적 구조로 표현하는 도구 1. 개념적 데이터 모델 피터 첸(Peter Chen)이 제안한 개념적 데이터 모델 개체-개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현 핵심 요소: 개체, 속성, 관계 개체 - 관계 다이어그램 (E-R diagram) : 개체 - 관계 모델을 이용 개체 (Entity) 현실세계에서 사람이나 사물과 같이 구별되는 모든 것 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나..
*모든 글의 내용은 아래의 사이트를 참고하여 작성했습니다. [MYSQL] 📚 JOIN과 서브쿼리 차이 및 변환 💯 정리 조인(JOIN) vs 서브쿼리(Sub Query) 조인과 서브쿼리는 때로 동일한 결과를 얻을 수 있다. 상황에 따라 조인을 사용하는 것이 훨씬 좋을 때도 있고, 반면에 서브 쿼리를 사용하는 것이 좋을 때도 있다. inpa.tistory.com 서브쿼리(Subquery) vs 조인(JOIN) 1. 서브쿼리 하나의 쿼리 안에 다른 쿼리가 포함된 것을 말한다. 메인 쿼리라 불리는 외부 쿼리가 있고, 외부 쿼리 내에 다른 내부 쿼리문이 있다. 2. 조인(JOIN) 여러개의 쿼리가 필요하지 않다. 2개 이상의 테이블을 특정 기준에 따라 연결하고, 연결한 최종 테이블로부터 열을 조회하도록 하는 기..
MySQL 접속하기 1. 상단 메뉴에서 Database > Connect to Database 선택 2. Connect to Database 접속 창이 나오면 아래 정보들을 입력한다. Hostname: 127.0.0.01 Port: 3306 UserName: root 'Store in vault...'를 선택해서 설치할 때 설정한 루트의 암호를 입력한다. 3. OK를 선택하면 접속이 진행된다. 위의 단계대로 하면 root 계정으로 MySQL 접속에 성공한 것이다. 데이터베이스 생성하기 이제 데이터베이스를 생성해보자. yammers 라는 데이터베이스를 생성해보겠다. 1. CREATE DATABASE 데이터베이스명 아래의 쿼리문을 통해 새로운 데이터베이스를 생성하면 좌측 SCHEMAS에 yammers라는 새..
테이블 생성 CREATE TABLE 테이블이름( 컬럼명 데이터형식 NULL여부 COMMENT) CREATE TABLE STOCK_TAG( STK_CD varchar(40) NOT NULL COMMENT '종목코드', STK_TAG_DV_NM varchar(200) NOT NULL COMMENT '종목태그분류명', STK_TAG_NM varchar(200) NOT NULL COMMENT '종목태그명', USE_YN varchar(200) NULL COMMENT '사용여부', REG_DTM DATETIME NULL COMMENT '등록일시', PRIMARY KEY (STK_CD, STK_TAG_DV_NM, STK_TAG_NM)) ENGINE=InnoDB COMMENT ='종목별태그'; 데이터 입력 # 1. ..
테이블 목록 조회 아래의 쿼리문을 사용하면 사용하고 있는 Database에 있는 모든 테이블이 보여진다. SHOW TABLES; 테이블 구조확인 특정 테이블의 column, type, null가능여부, PRIMARY KEY 등의 정보를 알 수 있다. DESCRIBE STOCK;
테이블 컬럼 type 확인하기 HISTORY_DT라는 테이블이 있다고 가정하자. 이 때 테이블 내 column의 형식을 확인하고 싶다면, DESC + 테이블명 을 사용하면 된다. DESC HISTORY_DT; 확인 결과, DT (날짜) 컬럼의 Type이 date이다. 만약 이 date타입의 컬럼을 문자열로 바꾸고 싶을 땐 어떻게 해야할까? DATE_FORMAT : 날짜 데이터 → 문자열 날짜형 데이터를 문자열로 바꾸고 싶다면 DATE_FORMAT(변환할 날짜형식 컬럼, 변환형식) 을 사용할 수 있다. 변환 결과로 생성된 tr_date 1, 2,3 컬럼을 확인해보면 원하는 형식대로 변환된 것을 확인할 수 있다. SELECT DATE_FORMAT(DT, '%Y%m%d') as tr_date, DATE_FOR..
REGEXP: 정규표현식을 사용하여 패턴 매칭을 수행하는 MySQL의 연산자 이를 사용한 예시를 leetcode 문제에서 보여주겠다. Table: Users +---------------+---------+ | Column Name | Type | +---------------+---------+ | user_id | int | | name | varchar | | mail | varchar | +---------------+---------+ user_id is the primary key (column with unique values) for this table. This table contains information of the users signed up in a website. Some e-..
이전에 발행한 윈도우 함수 관련 글 ↓ [윈도우 함수] SUM() OVER() 아래 문제를 통해 OVER() 함수에 대해 알아보자. 2023년 4월 기준 전국 주요 시/도의 연령대별 인구수 합계를 구하고, 연령대별 인구 비율 구하기 ✅step1 :2023년 4월 기준 전국 주요 시/도의 연령대별 fine-1004.tistory.com [윈도우 함수] RANK() OVER() 쿼리문 작성 시 '순위'를 매겨야 할 때가 있다. 예를 들면, A라는 class 내에서 수학성적 1등이 누구인지? 혹은 내가 운영하는 책방에서 판매량이 1위인 책이 무엇인지? 등을 알아보고 싶을 때. 이 fine-1004.tistory.com Leet Code를 풀고 있는데, 이전 row와 다음 row를 참조해야 하는 문제가 있었다...