두 열의 값을 서로 곱한 뒤 그 결과를 모두 더하려면 MySQL의 집계 함수 SUM()을 활용하면 됩니다. SUM() 함수 내부에 곱셈 연산식을 넣으면 각 행별로 계산된 값이 한 번에 합산되어 매우 간편합니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable( ProductQuantity int, ProductPrice int);Query OK, 0 rows affected (0.48
MySQL에서 CURDATE() 함수는 기본적으로 YYYY-mm-dd 형식(예: 2019-08-08)으로 현재 날짜를 반환합니다. 만약 이 형식을 다른 스타일로 변경하고 싶다면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 글에서는 현재 날짜의 형식을 변경하는 방법과, 실제 테이블에 저장된 날짜 데이터의 형식을 변환하는 방법까지 예제와 함께 자세히 알아보겠습니다. 1. MySQL에서 현재 날짜 확인하기 먼저 CURDATE() 함수를 실행하여 현재 날짜가 어떤 형식으로 출력되는지 확인해 보겠습니다. mysql> sele
MySQL SET 타입에서 특정 단어 제거하기 MySQL의 SET 데이터 타입은 미리 정의된 여러 값을 쉼표로 구분된 형태로 하나의 컬럼에 저장할 수 있는 편리한 자료형입니다. 이번 글에서는 이렇게 저장된 문자열에서 특정 단어를 제거하는 방법을 실제 예제와 함께 단계별로 살펴보겠습니다. 1. 테이블 생성하기 먼저 SET 타입의 컬럼을 포함하는 테이블을 생성합니다. mysql> create table DemoTable836(FirstName SET('John','Chris','Adam'
날짜 범위에 해당하는 레코드를 조회하려면 MySQL의 BETWEEN 연산자를 사용하면 됩니다. 이번 글에서는 학생의 생년월일을 저장한 뒤, 현재 나이가 특정 범위(예: 20~21세)에 해당하는 레코드만 추출하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 학생 생년월일을 저장할 테이블을 생성합니다.mysql> create table DemoTable863(StudentDateOfBirth date); Query OK, 0 rows affected (0.56 sec)2. 샘플 데이터 삽입하기INSERT 명령어를 사용해
MySQL에서 테이블에 저장된 빈 문자열()을 특정 값으로 교체해야 하는 경우가 종종 있습니다. 이때 IF() 함수를 활용하면 간단하게 처리할 수 있습니다. 이번 글에서는 예제를 통해 빈 값을 원하는 값으로 대체하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable837(Name varchar(100));Query OK, 0 rows affected (0.53 sec)2. 샘플 데이터 삽입INSERT 명령을 사용하여 이름 값과 함께 의도적으
MySQL에서 열에 입력할 수 있는 값을 미리 정해진 몇 가지로 제한하고 싶다면 ENUM 데이터 타입을 사용하면 됩니다. ENUM은 열에 저장될 수 있는 값을 문자열 목록으로 지정하는 방식으로, 목록에 없는 다른 값은 삽입할 수 없습니다.1. ENUM 타입으로 테이블 생성하기먼저 RED, GREEN, BLUE 세 가지 색상 값만 허용하는 열을 가진 테이블을 생성해 보겠습니다.mysql> create table DemoTable838(Color ENUM(RED,GREEN,BLUE)); Query OK, 0 rows affecte
MySQL에서 TIMESTAMP나 DATETIME 타입의 컬럼에서 날짜 부분(년, 월, 일)만 비교하고 싶을 때가 있습니다. 시간 정보는 제외하고 특정 날짜와 일치하는 레코드만 조회하려면 DATE() 함수를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 DATE() 함수로 날짜를 비교하는 방법을 단계별로 알아보겠습니다.1. 테이블 생성하기먼저 TIMESTAMP 타입의 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable864(DueDateTime timestamp);Query OK, 0 row
MySQL에서 SELECT(COLNAME)처럼 컬럼명을 괄호로 감싸면, 해당 컬럼에 별칭(alias)을 지정하는 것과 같은 효과를 냅니다. 즉, 괄호는 결과 집합에서 표시될 컬럼의 이름을 바꾸는 역할을 합니다.실제 예제를 통해 하나씩 살펴보겠습니다.1. 예제 테이블 생성먼저 이름 정보를 저장할 간단한 테이블을 만들어 보겠습니다.mysql> create table DemoTable865( FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affec
데이터베이스 작업을 하다 보면 특정 열에 빈 문자열()이나 NULL 값이 섞여 있는 경우가 많습니다. 이럴 때 해당 열의 값이 비어 있거나 NULL이라면, 같은 행에 있는 다른 열의 값으로 대체하여 의미 있는 데이터만 조회하는 방법을 알아보겠습니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable839( StudentFirstName varchar(100), StudentLastName varchar(100) ); Query OK, 0 rows aff
개요MySQL에서 하나의 컬럼에 대해 상태 값에 따라 합계(SUM)와 차감(SUBTRACTION)을 동시에 처리해야 하는 경우가 있습니다. 이럴 때 CASE 문을 활용하면 단일 쿼리로 조건부 집계를 손쉽게 구현할 수 있습니다. 조건에 따라 값을 그대로 더하거나 음수로 변환하여 빼는 방식입니다.이번 글에서는 예제 테이블을 만들고 데이터를 삽입한 뒤, CASE 문을 사용해 조건별 합계와 차감을 한 번의 쿼리로 처리하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 Status와 Amount 두 개의 컬럼을 가진 테이블을 생성
MySQL에서 직원 급여 데이터가 저장된 테이블에서 가장 높은 급여부터 세 번째로 높은 급여까지 순서대로 조회하려면 LIMIT과 OFFSET 절을 활용하면 됩니다. 이번 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.1. 샘플 테이블 생성먼저 직원 급여를 저장할 테이블을 생성합니다.mysql> create table DemoTable867(EmployeeSalary int);Query OK, 0 rows affected (0.64 sec)2. 테스트 데이터 삽입INSERT 문을 사용하여 여러 직원의 급여 데이터를 입력합니다
VARCHAR 타입으로 저장된 숫자 데이터를 부호 없는 정수(UNSIGNED INTEGER)로 변환해야 하는 경우가 종종 있습니다. 문자열 형태로 저장된 숫자를 올바르게 정렬하거나 수치 연산에 활용하려면 타입 변환이 필수적입니다. 이때 MySQL의 CAST() 함수를 사용하면 간단하게 해결할 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable868(Amount varchar(100));Query OK, 0 rows affected (0.51 sec)2.
MySQL에서 뷰(View)를 기반으로 새로운 테이블을 만들고 싶다면 CREATE TABLE ... SELECT 구문을 활용하면 됩니다. 뷰에 저장된 데이터를 그대로 복사하여 실제 물리 테이블로 생성할 수 있어, 데이터 백업이나 스냅샷 생성 시 매우 유용합니다.기본 문법뷰로부터 테이블을 생성하는 기본 문법은 다음과 같습니다.CREATE TABLE yourTableName SELECT * FROM yourViewName;실습 예제1단계: 원본 테이블 생성먼저 예제로 사용할 테이블을 생성합니다.mysql> CREATE TABLE
MySQL에서 테이블에 중복된 값의 삽입을 방지하려면 UNIQUE 제약 조건을 사용해야 합니다. UNIQUE 제약 조건을 설정하면 해당 컬럼(또는 컬럼 조합)에 이미 존재하는 값과 동일한 데이터를 삽입할 때 데이터베이스가 자동으로 오류를 발생시켜 중복 저장을 막아줍니다.1. UNIQUE 제약 조건이 있는 테이블 생성먼저 FirstName과 LastName 두 컬럼의 조합에 대해 UNIQUE 제약 조건을 적용한 테이블을 생성해 보겠습니다.mysql> create table DemoTable832(
MySQL에서 우편번호(PostCode)처럼 공백으로 구분된 문자열에서 첫 번째 부분만 추출하고 싶다면 SUBSTRING() 함수와 LOCATE() 함수를 함께 사용하면 됩니다. LOCATE()로 공백 문자의 위치를 찾고, 그 앞까지의 문자열을 SUBSTRING()으로 잘라내는 방식입니다.1. 테이블 생성하기먼저 우편번호를 저장할 테이블을 생성합니다.mysql> create table DemoTable858(PostCode varchar(100)); Query OK, 0 rows affected (0.56 sec)2. 샘플 데
MySQL에서 DATETIME 타입으로 저장된 날짜 값에서 특정 초(second)를 빼야 하는 경우가 종종 있습니다. 이 글에서는 INTERVAL 연산자를 활용해 테이블의 모든 날짜 레코드에서 원하는 만큼의 초를 손쉽게 차감하는 방법을 단계별로 알아보겠습니다.1. 테스트용 테이블 생성하기먼저 DATETIME 타입의 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable833(ArrivalTime datetime);Query OK, 0 rows affected (0.79 sec)2. 샘플 데이터 삽
MySQL에서 큰 숫자를 사람이 읽기 쉬운(human readable) 형태로 표시하려면, 즉 천 단위 구분 기호(콤마)를 포함시키려면 FORMAT() 함수를 사용해야 합니다. 이 함수는 숫자를 지정한 소수점 자릿수에 따라 반올림하고, 천 단위마다 콤마를 추가하여 가독성을 높여줍니다.1. 예제 테이블 생성먼저 실습을 위한 테이블을 생성합니다.mysql> create table DemoTable859(Number bigint); Query OK, 0 rows affected (1.54 sec)2. 데이터 삽입INSERT 명령어를
MySQL에서 조회 결과 중 일부 행을 건너뛰고 싶다면 LIMIT과 OFFSET 절을 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 행을 건너뛰며 조회하는 방법까지 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable860( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100) ); Query OK, 0 rows affect
MySQL에서 한 행에 있는 두 개의 열 값을 비교한 뒤, 그중 더 큰 값을 기준으로 결과를 정렬해야 하는 경우가 있습니다. 예를 들어 최저가와 최고가, 두 시험 점수 중 높은 점수 등을 기준으로 데이터를 정렬할 때 유용합니다.이럴 때는 GREATEST() 함수를 사용하면 됩니다. GREATEST()는 인자로 전달된 여러 값 중 가장 큰 값을 반환하는 함수로, ORDER BY 절과 함께 사용하면 두 열 중 큰 값을 기준으로 손쉽게 정렬할 수 있습니다.1. 테이블 생성하기먼저 두 개의 정수형 열을 가진 테이블을 생성합니다.mysql&
MySQL에서 날짜 데이터의 연도나 일은 그대로 두고 월(month)만 변경하고 싶을 때가 있습니다. 이럴 때는 MONTH() 함수와 DATE_ADD() 함수를 함께 활용하면 간단하게 처리할 수 있습니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable861(AdmissionDate date);Query OK, 0 rows affected (1.22 sec)2. 샘플 데이터 삽입하기INSERT 명령어를 사용해 날짜 데이터를 입력합니다. 모든 레코드가 1월인