개발로 자기계발
728x90
SMALL
생각나는 MySQL 명령어 파보기 - 3
Database & Data/MySQL 2023. 6. 2. 01:51

BETWEEN 특정 값이 주어진 두 값 사이에 있는지를 확인하는 데 사용 SELECT * FROM products WHERE price BETWEEN 10 AND 20; SELECT * FROM products WHERE price NOT BETWEEN 10 AND 20; IN 지정된 값 목록 중 하나와 일치하는지 확인하는 데 사용 SELECT * FROM users WHERE id IN (1, 3, 5); SELECT * FROM users WHERE id NOT IN (1, 3, 5); LIKE 특정 패턴과 일치하는 값을 찾는 데 사용 SELECT * FROM users WHERE email LIKE '%@gmail.com'; SELECT * FROM users WHERE email NOT LIKE ..

MySQL 프로시저(Procedure) 단계별로 작성해보기
Database & Data/MySQL 2023. 6. 1. 22:18

프로시저란? 데이터베이스 관련 작업을 수행하는 일련의 SQL 명령어들을 하나의 단위로 묶은 것 1) 장점 - 코드의 재사용성을 향상한다. - 코드의 복잡성을 낮춘다. 실습해 보기 공통사항 - DELIMITER //는 MySQL에서 프로시저를 생성할 때 사용하는 구문이다. 이는 기본적인 SQL 문장 구분자인 세미콜론(;)이 프로시저 내부에서도 사용되기 때문에, 프로시저의 시작과 끝을 명확히 구분하기 위해 일시적으로 문장 구분자를 //로 사용한다. - CREATE PROCEDURE HelloWorld()는 HelloWorld라는 이름의 새로운 프로시저를 만든다. 괄호 내부에는 매개변수가 들어갈 수도 있다. - BEGIN과 END 사이에 있는 부분에 프로시저가 수행할 SQL 문장들을 넣는다. - DELIMIT..

생각나는 MySQL 명령어 파보기 - 2
Database & Data/MySQL 2023. 5. 31. 18:39

INNER JOIN 테이블의 교집합 두 테이블 간에 공통된 값을 가진 행만 반환 SELECT Orders.order_id, Customers.customer_name FROM Orders INNER JOIN Customers ON Orders.customer_id = Customers.customer_id; OUTER JOIN 한 테이블의 행이 다른 테이블의 행과 일치하면 그 행을 반환 단, 어떤 행과도 일치하지 않으면 해당 행을 NULL과 함께 반환한다. "LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN"이 있다. 1) LEFT JOIN(=LEFT OUTER JOIN) 첫 번째 테이블의 모든 행과 두 번째 테이블에서 일치하는 행을 반환하며, 일치하는 행이 없는..

생각나는 MySQL 명령어 파보기 - 1
Database & Data/MySQL 2023. 5. 31. 17:33

sql_safe_updates 대량의 데이터를 수정하거나 삭제하는 것을 방지하기 위해 사용하는 MySQL 설정이다. UPDATE employees SET salary = salary * 1.1; 테이블의 전체 값을 변경하기 때문에 UPDATE 구문이 실행이 되지 않는다. UPDATE employees SET salary = salary * 1.1 WHERE employee_id = 1234; 이 경우에는 특정 WHERE이 있기 때문에 실행이 된다. set sql_safe_updates=0; 비활성화하기 set sql_safe_updates=1; 활성화하기 CHAR_LENGTH 특정 문자열의 길이를 반환하며, 문자열에 포함된 문자 수를 세는 데 사용된다. SELECT CHAR_LENGTH('Hello, W..

개념적, 논리적, 물리적 모델(이해 위주)
Database & Data/기초지식 2023. 5. 26. 19:30

예시: 책을 출판한다. 1. 개념적 모델: 업무의 전반적인 요구 사항과 엔티티 간의 관계를 이해하고 정의 책의 아이디어를 고려하는 단계이다. 책의 주제는 무엇인가요? 주요 캐릭터는 누구인가요? 이들은 어떻게 상호작용하는가요? ex) 로맨스 소설을 쓰려고 한다면 주요 캐릭터들과 그들의 관계를 먼저 정의한다. 2. 논리적 모델: 개념적 모델을 바탕으로 논리적 구조를 설계한다. 테이블, 컬럼, 키(기본 키, 외래 키 등), 데이터 타입, 제약 조건 등을 정의하며, 어떤 DBMS를 사용할 것인지는 고려하지 않는다. 이것은 아이디어를 좀 더 구체적으로 만드는 단계이다. 책의 각 장은 어떤 내용을 담고 있을까요? 각 캐릭터는 어떤 역할을 하는가요? 책의 전체적인 구조는 어떻게 되는가요? ex) 각 장의 제목과 내용..

MySQL Forward Engineer 기능
Database & Data/MySQL 2023. 5. 26. 19:20

논리적 또는 개념적 데이터 모델(일반적으로 엔티티-관계 모델 또는 ERD 형태로 표현)을 실제 MySQL 데이터베이스 스키마로 변환하는 작업이다. 변환 과정 1. ERD를 바탕으로 SQL 스크립트를 생성한다. 2. 생성된 SQL 스크립트를 검토하고 필요한 경우 수정한다. 3. SQL 스크립트를 실행하여 데이터베이스를 생성한다. 용어 정리 ERD 다이어그램 - 데이터베이스의 구조를 시각적으로 나타낸 다이어그램 SQL 스크립트 - SQL 문 스키마 - 테이블, 뷰, 인덱스, 데이터 타입 등 데이터베이스 객체의 집합

article thumbnail
데이터 조직에 대해
Database & Data/기타 2023. 5. 22. 17:13

데이터 조직의 비전- 신뢰할 수 있는 데이터를 바탕으로 부가 가치를 생성할 수 있는지? 1) 하는 업무(결정 과학 - Decision Science)- 데이터를 기반으로 의사결정을 가능하게 한다.* 데이터 기반 결정(data drvien decisions) - 데이터로 어떤 것들을 최적화하고 싶다.* 데이터를 고려한 결정(data informed decisions) - 데이터로 어떤 비즈니스를 만든다.- 데이터 기반으로 지표를 정의, 대시보드와 리포트 생성 등을 수행할 수 있다.- 데이터를 기반으로 사용자 서비스 경험 개선 및 프로세스 최적화를 한다. 2) 간단한 업무 분배 정의- 데이터 엔지니어: 데이터 인프라 구축- 데이터 분석가: 데이터 분석 DB(데이터 웨어하우스)를 통한 지표 정의, 시각화- 데..

고급 SQL 다루기
Database & Data/기초지식 2023. 5. 12. 22:42

UNION(합집합 - 중복제거)두 SELECT문의 결과를 결합하고 중복된 결과는 제거된다.SELECT column_name(s) FROM table1UNIONSELECT column_name(s) FROM table2; UNION ALL(합집합 - 중복제거X)UNION과 같지만 중복된 결과를 제거하지 않는다.SELECT column_name(s) FROM table1UNION ALLSELECT column_name(s) FROM table2; EXCEPT(차집합)첫 번째 SELECT 문의 결과에서 두 번째 SELECT 문의 결과를 제외한다.SELECT column_name(s) FROM table1EXCEPTSELECT column_name(s) FROM table2; INTERSECT(교집합)두 SEL..

Join 소개
Database & Data/기초지식 2023. 5. 11. 14:41

Join두 개 이상의 테이블에서 관련 있는 데이터를 결합 1) Inner Join두 테이블의 교집합즉, 두 테이블의 Join 조건에 일치하는 행만 반환SELECT * FROM table1INNER JOIN table2ON table1.matching_column = table2.matching_column; 2) Left (Outer) Join첫 번째 테이블의 모든 행과 두 번째 테이블에서 일치하는 행을 반환일치하지 않는 경우, 두 번째 테이블의 값은 NULL로 반환SELECT * FROM table1LEFT JOIN table2ON table1.matching_column = table2.matching_column; 3) Right (Outer) Join두 번째 테이블의 모든 행과 첫 번째 테이블에서..

RedShift 및 SQL 다루기

클러스터여러 개의 노드로 구성된 하나의 분산 시스템을 의미하며, 각 노드에는 CPU, 메모리, 스토리지 등의 컴퓨팅 리소스가 있어 데이터 처리와 분석 작업을 병렬로 수행할 수 있다. 관계형 데이터베이스 사용자 / 세션1) 사용자 ID(User ID):- 사용자 ID는 데이터베이스에 저장된 각 사용자를 고유하게 식별하는 식별자(일반적으로 사용자 계정, 프로필, 인증 정보와 연관)- 사용자 ID는 데이터베이스의 다른 테이블에도 참조될 수 있으며, 이를 통해 사용자 관련 데이터를 연결하고 추적할 수 있다.2) 세션 ID(Session ID):- 세션 ID는 사용자가 웹 사이트나 애플리케이션을 사용하는 동안 지속되는 인터랙션을 식별하기 위한 고유한 식별자- 사용자가 로그인하거나 웹 사이트를 방문할 때, 서버는 ..

728x90
SMALL