일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- oracle
- 책
- 네트워크
- SQL
- mysql
- git
- 티스토리챌린지
- docker
- MariaDB
- springboot
- DBMS
- github
- IntelliJ
- error
- 오블완
- mssql
- java
- 명령어
- spring
- 인터페이스
- Javascript
- Python
- pandas
- Linux
- 리눅스
- 자바
- 독서
- PostgreSQL
- 후기
- 인덱스
- Today
- Total
목록mysql (13)
hanker

COALESCE는 SQL에서 가장 널리 사용되는 NULL 값 처리 함수이다.여러 개의 값 중에서 첫 번째로 NULL이 아닌 값을 반환해준다. SQL 표준 함수: 대부분의 RDBMS에서 지원다중 값 처리: 무제한 개수의 매개변수 지원NULL 안전성: NULL 값으로 인한 오류 방지타입 호환성: 동일한 데이터 타입 내에서 작동 COALESCE 함수 사용 방법 COALESCE(값1, 값2, 값3, ..., 기본값) COALESCE 함수는 왼쪽부터 순서대로 값을 검사한다.첫 번째 NULL이 아닌 값을 발견하면 해당 값을 반환모든 값이 NULL이면 NULL을 반환매개변수가 없으면 구문 오류 발생 사용 예 SELECT COALESCE(NULL, NULL, 'Hello', 'World') AS result..
SQL의 ALTER 명령어로 컬럼을 추가하고 삭제하는 방법을 알아보자. 1. 컬럼 추가 기본 문법ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 [제약조건]; 예-- 단일 컬럼 추가ALTER TABLE users ADD COLUMN email VARCHAR(255);-- 제약조건과 함께 추가ALTER TABLE users ADD COLUMN phone VARCHAR(20) NOT NULL;-- 기본값과 함께 추가ALTER TABLE users ADD COLUMN created_at DATETIME DEFAULT CURRENT_TIMESTAMP;-- 여러 컬럼 동시 추가 (MySQL, PostgreSQL)ALTER TABLE users ADD COLUMN address VARCHAR(..

LPAD, RPAD 함수는 보고서나 출력 형식을 맞추거나 트리 구조로 데이터를 가져올 때 유용하다. MYSQL, ORACLE, POSTGRESQL, MariaDB 에서 사용이 가능하다. LAPD, RPAD 기본 문법LPAD(string, length, pad_string);RPAD(string, length, pad_string); string: 패딩할 원본 문자열length: 최종 결과 문자열의 길이pad_string: 채울 문자 또는 문자열 (선택사항, 기본값은 공백) 사용 예 SELECT -- 문자열을 10자리로 만들고 앞, 뒤에 공백으로 채우기 LPAD('123', 5, '0'), RPAD('123', 5, '0'), -- 문자열을 8자리로 만들고 앞에 '*'로 채우기 ..

MySQL과 MariaDB에서 보이는 주요 파일 형식인 .frm 파일과 .ibd 파일에 대해서 알아보자. MySQL과 MariaDB 는 디스크에 여러 종류의 파일 형태를 두어 테이블 정의, 데이터, 인덱스 등을 관리한다. .frm 파일 : 테이블의 스키마 메타데이터(컬럼 정보, 인덱스 정의 등)를 저장한다..ibd 파일 : InnoDB 스토리지 엔진에서 테이블별 테이블 스페이스를 사용할 때, 해당 테이블의 데이터와 인덱스를 저장한다.옵션 : innodb_file_per_table=ON 경로를 따로 변경하지 않으면 frm, ibd 확장자는 /var/lib/mysql/ 디렉터리에 생성된다. 1. frm 확장자 파일 각 테이블의 구조를 저장하고, MyISAM뿐 아니라 InnoDB 테이블 정의에도 사용한다...
웹 개발을 하다 보면 페이징 처리는 필수적으로 하게 되는데,그리드 라이브러리를 쓰지 않고 처리하게 될 경우 페이징은 손수 개발자가 직접 구현해야 한다. 이번 글에서는 페이징 처리를 하기 위해 각 SQL 별로 페이징 쿼리를 알아보자. 1. Client → Server 파라미터 값 - page : 현재 페이지 번호 - 1 (예를 들어 3페이지면 page = 2)- size : 페이지당 데이터 건수 (한 페이지당 보여질 데이터 수)- offset : page * size * offset 값은 항상 page * size로 계산2. 각 DBMS 별 Query 2-1. MySQLMySQL인 LIMIT과 OFFSET구문을 사용한다.-- MySQL-- offset = page * sizeSELECT *FROM use..
SQL을 사용하는 각 데이터베이스에서 버전을 확인하는 방법에 대해서 알아보자! 1. MySQL 1-1. SQL에서 확인# SELECT VERSION() 명령어SELECT VERSION();# STATUS 명령어STATUS; 1-2. CLI(Command Line Interface)에서 확인mysql --version 2. MSSQL 2-1. SQL에서 확인# @@VERSION 사용SELECT @@VERSION;# 서버 속성 확인SELECT SERVERPROPERTY('ProductVersion') AS Version, SERVERPROPERTY('ProductLevel') AS Level, SERVERPROPERTY('Edition') AS Edition; 2-2. SQLCMD에서 ..
SQL에서 트랜잭션(Transaction)은 데이터베이스의 상태를 관리하고 데이터 무결성을 보장하는 중요한 개념이다.특히, 데이터 처리 중 오류가 발생했을 경우 롤백(ROLLBACK)으로 상태를 복원하거나, 커밋(COMMIT)으로 변경 사항을 확정ㅇ하는 기능은 트랜잭션의 핵심이다. 이번 글에서는 트랜잭션의 개념, 동작 원리, 그리고 활용 방법에 대해서 알아보자! 1. 트랜잭션(Transaction) 이란? 트랜잭션은 데이터베이스에서 수행되는 하나 이상의 작업 단위를 말한다.데이터 무결성을 유지하기 위해 모두 성공하거나 모두 실패해야 한다. * 무결성 : 데이터의 정확성, 일관성, 신뢰성을 전체 라이프사이클 동안 유지하는 것을 의미 트랜잭션의 4가지 특성 (ACID)- 원자성 (Atomicity) : ..
데이터베이스에서 NULL은 "값이 없다"는 상태를 나타낸다.하지만 NULL을 다루는 방식은 데이터베이스마다 미묘한 차이가 있는데,이번 글에서 Oracle, MySQL, MSSQL, PostgreSQL에서 NULL을 처리하는 방법을 알아보자!Oracle Oracle에서는 NULL을 다룰 때 NVL과 COALESCE 함수가 자주 사용된다. NVL 함수 : NVL은 NULL 값을 대체할 값을 지정COALESCE 함수 : COALESCE는 여러 값을 순서대로 확인하여 NULL이 아닌 첫 번째 값을 반환 SELECT NVL(NULL, 'hanker') AS Result FROM DUAL;-- 결과: 'hanker'SELECT COALESCE(NULL, NULL, 'hanker') AS Result FROM DUA..
SQL에서 데이터 타입 변환은 데이터 처리에서 자주 사용하는 기능이다.예를 들어, 숫자를 문자열로 변환하거나, 날짜를 다른 포맷으로 변경할 때 데이터를 변환해야 하는 경우가 있다.이를 구현하는 방법은 데이터베이스마다 약간씩 다른데,이번 글에서는 각 데이터베이스 별로(Oracle, MySQL, MSSQL, PostgreSQL) 데이터 타입 변환을 처리하는 방법을 알아보자. MySQL MySQL에서는 CAST와 CONVERT 두 가지 방법으로 데이터 타입을 변환한다.SELECT CAST('123' AS SIGNED) AS ConvertedNumber;# CONVERT는 변환뿐만 아니라 데이터 인코딩을 변경할 때도 사용SELECT CONVERT('123' USING utf8) AS Utf8String;SEL..
SQL에서 데이터를 다룰 때, 중복된 데이터를 제거하는 것은 매우 중요한 작업이다. 이번 글에서는 MySQL, MSSQL, Oracle, PostgreSQL에서 중복을 제거하는 방법을 알아보자! 공통 (MySQL, MSSQL, Oracle, PostgreSQL) DISTINCT는 SQL에서 중복된 데이터를 제거하는 가장 기본적인 방법이다.SELECT DISTINCT departmentFROM employees;결과: 각 부서 이름이 한 번만 출력된다. DISTINCT를 여러 열에 적용하면 열 전체를 기준으로 중복 여부를 판단SELECT DISTINCT job_title, cityFROM employees;결과: 동일한 직업-도시 조합은 한 번만 출력된다. COUNT와 함께 사용 중복 제거된 값의 개수를 ..