본문 바로가기

Language/MySQL20

DML이란? DML이란? DML (Data Manipulation Language) (데이터 조작어) SELECT: 데이터베이스에서 데이터를 검색하는 데 사용됩니다. INSERT: 새로운 데이터를 테이블에 삽입합니다. UPDATE: 이미 존재하는 데이터의 값을 업데이트합니다. DELETE: 테이블에서 데이터를 삭제합니다. 1. SELECT 원하는 데이터 조회 SELECT * FROM employees; # 결과 +----+----------+--------+-------+ | id | name | salary | age | +----+----------+--------+-------+ | 1 | John | 50000 | 30 | | 2 | Jane | 60000 | 28 | | 3 | Smith | 75000 | .. 2024. 1. 11.
Delete, Truncate, Drop Delete, Truncate, Drop SQL에서 DELETE, TRUNCATE, DROP은 각각 다른 목적과 동작을 가지고 있습니다. 아래는 각각에 대한 설명과 차이점입니다. 1. DELETE 목적: 테이블에서 특정 행(레코드) 또는 조건을 만족하는 행을 삭제하는 명령입니다. 동작: DELETE 문을 사용하면 테이블에서 행이 삭제되지만, 테이블 구조는 유지됩니다. 주의사항: DELETE 문을 실행하면 롤백이 가능하며, 조건을 지정하지 않는 경우 테이블의 전체 행 삭제 # Employee 테이블 +----+-------------+--------+ | ID | Name | Salary | +----+-------------+--------+ | 1 | John Doe | 50000 | | 2 | Jan.. 2024. 1. 9.
SQL 기본 명령어 SQL 기본 명령어 SQL(Structured Query Language)에서는 다양한 유형의 명령어들이 제공되며, 주로 DML, DDL, DCL, TCL 등으로 분류됩니다. 각각의 명령어 유형은 데이터베이스와 상호작용하는 다른 측면을 다룹니다. DDL: 테이블을 정의하는 데 사용하는 명령어 (테이블 생성, 변경, 삭제 등) DCL: DB에 접근하고 객체를 사용하도록 권한을 주고, 회수하는 명령어 DML: 데이터를 조작하는 데 사용하는 명령어 (데이터 조회/검색, 삽입, 수정, 삭제 등) ※ 데이터 분석가 TCL: 논리적인 작업의 단위를 묶어서 DML에 의해 변형된 결과를 트랜잭션 별로 제어하는 명령어 1. DDL (Data Definition Language) - 데이터 정의어 CREATE: 데이터베이.. 2024. 1. 8.
가상 테이블 생성 가상 테이블 가상 테이블(Virtual Table)은 데이터베이스에서 실제로 데이터를 저장하지 않고, 다른 테이블이나 쿼리의 결과를 기반으로 동적으로 생성되어 사용되는 테이블입니다. 가상 테이블은 주로 뷰(View), 공통 테이블 식(CTE), 서브쿼리, 일시적인 테이블 등의 형태로 나타납니다. 가상 테이블을 만드는 주된 이유는 데이터 모델을 효과적으로 구성하고, 복잡한 쿼리를 단순화하며, 데이터에 대한 접근을 제어하거나 보안을 강화하는 데에 있습니다. 1. 가상 테이블 생성 이유 1. 복잡한 쿼리 단순화 가상 테이블을 사용하면 복잡한 쿼리를 간결하게 작성할 수 있습니다. 특히 여러 테이블 간의 조인이나 데이터 가공 작업을 수행할 때 편리합니다. 2. 데이터 모델링의 유연성 가상 테이블을 활용하면 데이터.. 2024. 1. 7.
SQL 윈도우 함수 SQL 윈도우 함수 윈도우 함수는 SQL에서 행들을 기반으로 계산을 수행하는 함수입니다. 이 함수들은 "윈도우" 또는 "창"이라고 불리는 특정 데이터 세트의 부분에 대해 계산을 수행하며, 이를 통해 행 간의 상대적인 관계를 분석할 수 있습니다. 윈도우 함수는 OVER() 절을 사용하여 정의되며, 이 절 내에서 윈도우의 범위를 지정합니다. 1. NTILE(n) 결과 집합을 n개의 동일한 크기의 그룹으로 나눕니다. 각 그룹은 번호가 매겨지며, n값에 따라 그룹의 개수가 결정 'PARTITION BY'를 추가하여 category별 계산 SELECT category, value, NTILE(2) OVER (PARTITION BY category ORDER BY value) AS bucket FROM exampl.. 2024. 1. 6.
CONCAT 함수 CONCAT 함수 CONCAT, CONCAT_WS, GROUP_CONCAT은 문자열을 결합하는 데 사용되는 함수 1. CONCAT CONCAT 함수는 여러 문자열을 결합하여 하나의 문자열로 만듭니다. 일반적인 사용법은 다음과 같습니다: CONCAT(string1, string2, ...) SELECT CONCAT('Hello', ' ', 'World') AS Result; # 결과: Hello World 2. CONCAT_WS CONCAT_WS 함수는 CONCAT과 유사하지만 구분자(separator)를 지정할 수 있습니다. 처음에 구분자를 한 번만 지정해 놓으면 구분자는 결합되는 각 문자열 사이에 삽입됩니다. 일반적인 사용법은 다음과 같습니다: CONCAT_WS(separator, string1, st.. 2024. 1. 5.
재귀 함수 재귀 함수 RECURSIVE 키워드는 SQL에서 재귀적인 쿼리를 작성할 때 사용됩니다. RECURSIVE 쿼리는 특정 데이터 구조의 계층 구조를 탐색하거나, 자기 자신을 참조하는 데이터를 다룰 때 유용한 기능을 제공합니다. 예를 들어, 조직도나 카테고리 트리와 같은 계층 구조를 가진 데이터를 쿼리할 때 사용할 수 있습니다. 다음은 간단한 예시를 통해 RECURSIVE를 설명하겠습니다. # organizations table +----------------+----------------+------------------------+ | department_id | department_name| parent_department_id | +----------------+----------------+-----.. 2024. 1. 4.
DataBase (데이터베이스) DataBase (데이터베이스) 1. 데이터베이스 (Database) 데이터베이스는 체계적으로 구성된 데이터의 집합으로, 효율적인 관리와 검색을 위해 구조화되어 있습니다. 정보를 지속적으로 저장, 관리하고, 여러 사용자 또는 응용 프로그램이 안전하게 접근할 수 있도록 하는 것이 목적 2. 데이터베이스 관리 시스템 (DBMS) DBMS (DataBase Management System) 데이터베이스를 생성, 관리, 조작하는 소프트웨어 시스템으로, 사용자와 데이터 사이의 상호 작용을 관리 MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server 등이 DBMS의 예시 3. 관계형 데이터베이스 (RDB) RDB (Relational DataBase) 데이터를 테이블 .. 2024. 1. 3.
REGEXP (정규 표현식) REGEXP(Regular Expression, 정규 표현식) MySQL에서 REGEXP는 정규 표현식을 사용하여 문자열을 검색하거나 필터링하는 데 사용되는 연산자입니다. REGEXP 연산자는 WHERE 절에서 사용되어 특정 패턴과 일치하는 문자열을 선택할 수 있습니다. 일반적으로 사용되는 몇 가지 정규 표현식 메타 문자는 다음과 같습니다. 1. '^' (문자열의 시작) / '$' (문자열의 끝) '^': 문자열이 'John'으로 시작하는 행을 찾기 위한 쿼리 '$': 문자열이 'John'으로 끝나는 행을 찾기 위한 쿼리 # ['^'] SELECT * FROM table_name WHERE column_name REGEXP '^John'; # ['$'] SELECT * FROM table_name WHE.. 2024. 1. 2.