MySQL SUM() 함수로 열의 전체 합계 구하기MySQL에서 특정 열에 있는 모든 행의 값을 더하려면 집계 함수인 SUM()을 사용하면 됩니다. 이번 글에서는 예제 테이블을 만들고, 데이터를 삽입한 뒤 SUM() 함수를 활용해 전체 합계를 구하는 과정을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 아래와 같이 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Amount int ); Query
MySQL에서 숫자 값을 저장할 때 ENUM과 TINYINT UNSIGNED 중 어떤 데이터 유형을 선택해야 할지 고민되는 경우가 많습니다. 두 유형의 차이를 이해하고 상황에 맞게 선택하는 것이 중요합니다.ENUM과 TINYINT UNSIGNED의 선택 기준저장할 값이 미리 정해져 있는 경우에는 ENUM 데이터 유형을 사용하는 것이 가장 좋습니다. ENUM은 허용된 값만 입력할 수 있도록 제한하기 때문에 더 엄격한 데이터 무결성을 보장합니다.반면, 저장될 값이 사전에 알 수 없는 경우에는 TINYINT UNSIGNED 데이터 유형을
네, 가능합니다. MySQL의 ENUM 타입에는 공백이 포함된 문자열 값을 그대로 사용할 수 있습니다. ENUM은 정의 시 나열한 문자열 목록 중 하나만 저장하는 타입이기 때문에, 값에 공백이 있어도 전혀 문제되지 않습니다.실제 예제를 통해 단계별로 확인해 보겠습니다.1. ENUM 컬럼이 있는 테이블 생성먼저 공백이 포함된 값을 가진 ENUM 타입 컬럼으로 테이블을 생성합니다.mysql> create table DemoTable ( Size ENUM(SMALL SIZE,LARGE SIZE,XL SIZE)
MySQL에서 날짜를 원하는 형식으로 출력하려면 DATE_FORMAT() 함수를 사용해야 합니다. 이 함수는 DATE 타입의 값을 지정한 형식 문자열에 맞춰 변환해 주며, 보고서나 화면 출력 시 매우 유용하게 활용됩니다.아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성먼저 날짜 컬럼을 포함한 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ArrivalDate date ); Quer
MySQL에서 저장된 날짜 데이터를 원하는 형식으로 표시해야 할 때가 자주 있습니다. 이럴 때 DATE_FORMAT() 함수를 사용하면 손쉽게 날짜 형식을 변경할 수 있습니다. 이 글에서는 DATE_FORMAT() 함수의 기본 문법부터 실제 예제까지 단계별로 살펴보겠습니다.DATE_FORMAT() 함수 기본 문법DATE_FORMAT() 함수는 첫 번째 인자로 날짜 컬럼을, 두 번째 인자로 원하는 형식 지정자(Format Specifier)를 받습니다.SELECT date_format(컬럼명, 형식지정자) FROM 테이블명;예제 테이
MySQL에서 SET 타입으로 정의된 컬럼에 어떤 값들이 허용되어 있는지 확인하고 싶다면, DESC(DESCRIBE) 명령어를 사용하면 간단하게 해결할 수 있습니다.기본 문법SET 필드에 저장 가능한 값을 조회하려면 아래와 같은 구문을 사용합니다.DESC 테이블이름 SET컬럼이름;예제로 살펴보기먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Game set(Chess,Pig Dice,29 Card) );Query OK, 0 rows affected (0.60 sec
MySQL에서는 INSERT 문 하나만으로 여러 개의 행(값 세트)을 동시에 삽입할 수 있습니다. VALUES 절 뒤에 쉼표(,)로 구분된 여러 값을 나열하기만 하면 되며, 이 방식은 레코드를 하나씩 삽입할 때보다 실행 속도가 빠르고 코드도 간결해집니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( UserId int, UserName varchar(20), UserAge int );Query OK, 0 rows affected (0
MySQL에서 특정 방식으로 단일 열의 값을 합산하려면 집계 함수 SUM()과 윈도우 함수인 OVER 절을 함께 사용합니다. OVER 절 안에 ORDER BY를 지정하면 각 행 기준으로 첫 번째 행부터 현재 행까지의 누적 합계(running total)가 계산됩니다. 1단계 — 테이블 생성하기 먼저 데모용 테이블을 생성합니다. mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCR
MySQL에서 이름(이메일 주소)을 전달하여 도메인 이름을 가져오려면 substring_index() 함수를 사용하면 됩니다. 이 함수는 문자열을 특정 구분자를 기준으로 분리하여 원하는 부분만 추출할 수 있어, 이메일 주소에서 도메인 부분을 손쉽게 얻을 때 유용합니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserMailId varchar(200)
MySQL에서 단일 열의 모든 값 연결하기MySQL에서 특정 열(column)에 있는 모든 값을 하나의 문자열로 합치고 싶다면 GROUP_CONCAT() 함수와 CONCAT() 함수를 함께 사용하면 됩니다. 이 두 함수를 조합하면 각 행의 값을 원하는 형식으로 감싸거나 구분자를 추가한 뒤, 전체를 하나의 결과로 연결할 수 있습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY K
MySQL에서 특정 레코드의 값을 감소시키고 그 값이 0에 도달하도록 만들려면 UPDATE 문에서 SET 절로 값을 줄이고, WHERE 절로 대상 레코드를 지정하면 됩니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int );Query OK, 0 rows affected (0.54 sec)2. 샘플 데이터 삽입하
ENUM 타입으로 선언된 컬럼이 포함된 MySQL 테이블에서 각 항목(값)별 개수를 구하고 싶다면, GROUP BY 절과 집계 함수인 COUNT()를 함께 사용하면 됩니다. 이 조합은 특정 컬럼의 고유한 값들을 그룹으로 묶은 뒤, 각 그룹에 속한 행의 수를 손쉽게 집계해 줍니다.아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1. ENUM 컬럼을 가진 테이블 생성하기먼저 Size라는 ENUM 컬럼을 포함하는 테이블을 생성합니다. ENUM은 미리 정의해 둔 값 목록(S, M, L, XL) 중 하나만 저장할 수 있는 편리한 데이터 타
MySQL에서 POW()와 POWER()는 이름만 다를 뿐 완전히 동일한 기능을 수행하는 동의어(synonym) 함수입니다. 두 함수 모두 첫 번째 인수를 두 번째 인수만큼 거듭제곱한 값을 반환합니다.기본 문법select pow(yourValue1, yourValue2); OR select power(yourValue1, yourValue2);이제 몇 가지 예제를 통해 직접 확인해 보겠습니다.POW() 사용 예제mysql> select POW(4,3);위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.+----------+
MySQL에서는 다른 데이터베이스(예: PostgreSQL, SQL Server)에서 지원하는 EXCEPT 연산자를 사용할 수 없습니다. 하지만 걱정할 필요가 없습니다. NOT IN 연산자를 활용하면 EXCEPT와 동일한 결과를 얻을 수 있습니다.이 글에서는 두 개의 테이블을 만들고, NOT IN 연산자를 사용해 첫 번째 테이블에는 있지만 두 번째 테이블에는 없는 값을 조회하는 방법을 단계별로 살펴보겠습니다.1. 첫 번째 테이블 생성하기먼저 DemoTable1이라는 테이블을 생성합니다.mysql> create table Dem
문자열 끝에 특정 문자(예: 물음표 ?)가 있을 때 이를 제거하려면 MySQL의 TRIM() 함수를 활용할 수 있습니다. TRIM 함수는 TRAILING 키워드와 함께 사용하면 문자열 끝에 위치한 지정한 문자만 깔끔하게 잘라낼 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( UserId varchar(100) ); Query OK, 0 rows affected (0.63 sec)2. 샘플 데이터 삽입하기INSERT 명령어를 사
MySQL SMALLINT에 대응하는 Java 자료형MySQL의 SMALLINT에 해당하는 Java 자료형은 short입니다. Java의 short는 2바이트(16비트) 크기를 가지며, 표현할 수 있는 값의 범위는 -32,768부터 32,767까지입니다. MySQL의 SMALLINT 역시 2바이트를 사용하고 동일한 범위를 가지므로, 두 자료형은 크기와 값의 범위 면에서 완벽하게 호환됩니다.참고로 MySQL에서 UNSIGNED 옵션을 적용하면 SMALLINT는 0부터 65,535까지 표현할 수 있습니다. 하지만 Java에는 부호 없는
MySQL의 ENUM(열거형) 타입에서 특정 값을 제거하려면 ALTER 명령어를 사용해야 합니다. 이 글에서는 실제 예제를 통해 ENUM 값 삭제 과정을 단계별로 살펴보겠습니다.1. 테스트용 테이블 생성먼저 ENUM 컬럼을 포함하는 테이블을 생성합니다.mysql> create table DemoTable ( `Rank` ENUM(LOW,MEDIUM,HIGH) );Query OK, 0 rows affected (0.52 sec)2. 테이블 구조 확인DESC 명령어로 현재 테이블 구조를 확인해 보겠습니다.mysql
MySQL Workbench를 사용하면 복잡한 쿼리를 하나의 저장 프로시저(Stored Procedure)로 만들어 손쉽게 재사용할 수 있습니다. 이 글에서는 간단한 예제를 통해 저장 프로시저를 생성하고, 실행한 뒤, CALL 명령으로 호출하는 전 과정을 단계별로 살펴보겠습니다. 1. 저장 프로시저 생성하기 먼저 business 데이터베이스를 선택한 후, 아래 쿼리를 실행하여 저장 프로시저를 생성합니다. use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREAT
MySQL에서 알파벳순이나 오름차순·내림차순 같은 기본 정렬이 아닌, 사용자가 지정한 특정 단어(값)의 순서대로 데이터를 정렬하고 싶다면 ORDER BY 절과 함께 FIELD() 함수를 사용해야 합니다.FIELD() 함수는 두 번째 인수부터 나열된 값들 중에서 첫 번째 인수와 일치하는 값의 위치 인덱스를 반환합니다. 이 특성을 활용하면 원하는 순서를 직접 정의하여 정렬할 수 있습니다.예제를 통해 살펴보겠습니다. 먼저 테이블을 생성합니다.mysql> create table DemoTable ( StudentId int N
MySQL에서 날짜(datetime) 컬럼을 대상으로 특정 월과 연도에 해당하는 레코드를 검색하려면 MONTH() 함수와 YEAR() 함수를 사용하면 됩니다. 예를 들어 2015-07-01 11:15:30 형식의 날짜 데이터 중 2015년 7월에 해당하는 행만 조회할 수 있습니다.1. 테이블 생성먼저 데모용 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime