Dev Hyeri

기술스택/SQL 7

시스템 뷰 (INFORMATION_SCHEMA)

MySQL에서 데이터베이스 및 테이블의 메타데이터를 조회하기 위한 일반적인 시스템 뷰입니다. 코드.SELECT *FROM INFORMATION_SCHEMA.TABLES;  INFORMATION_SCHEMA.TABLES (MySQL): INFORMATION_SCHEMA.TABLES는 MySQL의 정보 스키마에 속하는 시스템 뷰로, 데이터베이스의 테이블에 대한 메타데이터를 제공합니다. 주로 데이터베이스 및 테이블의 메타데이터를 조회하고 관리할 때 사용됩니다. INFORMATION_SCHEMA.TABLES는 데이터베이스 및 테이블 관리에 사용되며, DUAL처럼 단일 값을 반환하는 용도가 아닙니다.  *오라클 DUALOracle 데이터베이스에서 특별한 테이블로서 단일 행과 단일 열을 가집니다. 주로 DUAL은 ..

기술스택/SQL 2024.01.26

MySQL VIEW / CTE WITH / CASE WHEN THEN

VIEW뷰생성CREATE  VIEW  뷰이름  AS     SELECT      FROM     WHERE 수정                    ⌈‾‾ OR REPLACE 뜻 : VIEW가 없으면 만들고 있으면 갱신CREATE  OR  REPLACE  VIEW  뷰이름  AS       SELECT     FROM     WHERE         삭제DROP VIEW 뷰이름    WITHCTEA Common Table Expressions  단일(하나의 ;세미콜론) 스코프 안에서 일시적으로 존재하는 결과셋 함수를 커스텀으로 정의해서 사용하는 것과 비슷 장점 : 복잡한 쿼리를 분해, 쿼리의 목적과 의도를 더 명확하게 나타낼 수 있어 가독성과 유지 보수성을 향상, 재귀 쿼리를 작성하는 데 유용 생성 WIT..

기술스택/SQL 2023.10.11

MySQL 연산자 우선순위, IN vs EXISTS

1산술2연결3=  >  =  4IS NULL,  IS NOT NULL    /    LIKE,  NOT LIKE    /    IN,  NOT IN5BETWEEN AND,  NOT BETWEEN AND6NOT (논리)7AND (논리) 8OR (논리)   연결  concat  오라클  '||'SELECT절에서 컬럼끼리 이어 붙여 하나의 값으로 나오게 한다.    비교  IS NULL,  IS NOT NULL    /    LIKE,  NOT LIKE    /    IN,  NOT IN  LIKE : 와일드 카드 '%', '_' 사용하여 문자 패턴 찾음   (WHERE 컬럼 LIKE '%a%') a를 포함하고 있는 문자열 검색  IN : 값이 목록에 있으면 TRUE   비교   BETWEEN AND    /..

기술스택/SQL 2023.10.11

MySQL 함수

문자 함수  길이 LENGTH(문자열)대문자로 변환UPPER(문자열)첫 글자만 대문자 INITCAP(문자열)소문자로 변환LOWER(문자열)이어 붙이기CONCAT(문자열, 문자열, 문자열, · · · ) 구분자를 넣어 이어붙기CONCAT_WS( 구분자, 문자열, 문자열, · · · )뽑아내기SUBSTRING(문자열, 시작점, 범위) 왼쪽부터 뽑아내기LEFT(문자열, 왼쪽부터 시작한 범위)오른쪽부터 뽑아내기RIGHT(문자열, 오른쪽부터 시작한 범위)    날짜 함수  현재 날짜, 시간 NOW() 현재 날짜 CURDATE(), SYSDATE() 현재 시간 CURTIME() 날짜에 더함 DATE_ADD(날짜값, INTERVAL 3 DAY),날짜에 뺌 DATE_SUB(날짜값, INTERVAL 3 DAY) 두 날짜..

기술스택/SQL 2023.10.11

MySQL INDEX 정리

INDEX처리 속도를 향상시키기 위해서 컬럼에 대해 생성하는 객체   종류 1. Clustered Index기본키primary key 컬럼은 기본적으로 클러스터형 인덱스가 생성됨테이블 데이터는 기본키 컬럼을 기준으로 정렬되고 트리 구조의 일련의 데이터 페이지에 물리적으로 저장데이터베이스 엔진이 해당 기본키의 행을 쉽게 찾을 수 있게 함   2. Non-Clustered Index특정 컬럼을 보조 인덱스로 생성데이터 페이지가 없고 키 값과 행 로케이터가 있다. 컬럼에 유니크 제약을 넣으면 보조 인덱스 생성됨먼저 보조 인덱스로 해당 컬럼의 값을 찾고 그 값이 가지고 있는 기본키primary key 값으로 클러스터 인덱스를 찾아 실제 데이터 행을 찾는다.     인덱스 생성인덱스 생성 경우 :데이터가 엄청 ..

기술스택/SQL 2023.10.08

MySQL 기본 완전 정리

릴레이션 == 테이블릴레이션 스키마 : 컬럼 이름들의 집합릴레이션 인스턴스 : 컬럼 외 값 부분 전체컬럼 == 속성 == 필드 도메인 : 컬럼이 가지는 값들의 집합로우 == 레코드 == 튜플 : 컬럼 값들의 집합, 테이블 내에서 유일      DDL    CREATE  CREATE DATABASE 데이터베이스명;USE 데이터베이스명; CREATE TABLE 테이블명( );DESC 테이블명;* 테이블 정보  CREATE INDEX 인텍스명 ON 테이블명(컬럼);     DROP  DROP DATABASE IF EXISTS 데이터베이스명; * 쿼리 실행시 데이터베이스가 존재하지 않으면 생기는 오류      ALTER  테이블 이름 변경 : ALTER TABLE 기존이름 RENAME 바꿀이름;컬럼 추가 : A..

기술스택/SQL 2023.10.05

SQL, JDBC, DBMS, DB란?

컴퓨터에서 데이터 요청 ⇢ 데이터 까지의 흐름 SQL Structured Query Language DBMS에게 구조화된 데이터를 질의하는 명령어 관계형 데이터베이스를 사용하기 위한 표준 검색 언어 ↓ ↓ ( JDBC ) Java Database Connectivity 자바 언어에서 Database에 접근할 수 있게 해주는 API DBMS에 맞는 vender 구현하여 접속 가능하게 한다. ↓ ↓ DBMS Database Management System 데이터 저장과 관리를 위한 데이터베이스 소프트웨어 MySQL, Oracle, MS-SQL, DB2, PostgreSQL, MariaDB, Querydsl 등 RDBMS Relational Database Management System 관계형 데이터베이스 ..

기술스택/SQL 2023.09.04