Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL

  1. MySQL에서 두 개의 컬럼 값을 하이픈으로 구분하여 하나의 컬럼으로 합치는 방법

    MySQL에서 두 개 이상의 컬럼 값을 하나의 문자열로 합쳐야 하는 경우가 자주 있습니다. 예를 들어 국가 코드와 국가 이름을 각각 저장하고 있지만, 조회 시에는 100-US처럼 하이픈(-)으로 구분된 하나의 값으로 출력하고 싶다면 CONCAT() 함수를 사용하면 됩니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable835(    CountryCode int,    CountryName var

  2. MySQL에서 열 이름을 지정하지 않고 값을 삽입하는 방법

    MySQL에서 열 이름 없이 값 삽입하기네, 가능합니다. MySQL에서는 INSERT 문 작성 시 열(컬럼) 이름을 생략하고 테이블에 정의된 순서대로 값만 나열하여 데이터를 삽입할 수 있습니다.기본 문법은 다음과 같습니다.INSERT INTO yourTableName VALUES(yourValue1, yourValue2, yourValue3, .....N);이때 주의할 점은 VALUES 뒤에 오는 값의 개수와 순서가 반드시 테이블의 열 구조와 일치해야 한다는 것입니다.예제 테이블 생성먼저 실습용 테이블을 생성해 보겠습니다. 여기서는

  3. MySQL에서 아무 작업도 수행하지 않는 Void 쿼리 구현 방법

    MySQL에서 실제로 아무런 결과도 반환하지 않는 Void(빈) 쿼리를 구현해야 하는 경우가 있습니다. 예를 들어 쿼리 문법만 검증하거나, 애플리케이션 로직상 실행은 하되 결과는 비워야 할 때 유용합니다. 이 글에서는 LIMIT 0을 활용해 아무것도 하지 않는 쿼리를 만드는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.47 sec)2. 레코드

  4. 일부 행을 삭제한 후 MySQL 테이블을 최적화하는 방법

    MySQL에서 DELETE 문으로 행을 삭제하면 해당 공간이 즉시 운영체제로 반환되지 않고 테이블 내부에 조각화(fragmentation)된 상태로 남게 됩니다. 이렇게 되면 디스크 공간이 낭비되고 쿼리 성능도 저하될 수 있습니다. 이때 OPTIMIZE TABLE 명령어를 사용하면 테이블을 재구성하여 불필요한 공간을 회수하고 성능을 개선할 수 있습니다.OPTIMIZE TABLE 기본 문법optimize table yourTableName;실습 예제로 알아보기1단계: 테이블 생성먼저 테스트에 사용할 테이블을 생성합니다.mysql>

  5. MySQL에서 공백만 있는 열 값을 가진 행 조회하기 – TRIM() 함수 활용법

    특정 열의 값이 공백(whitespace)으로만 이루어진 행을 조회하려면 TRIM() 함수를 활용하면 됩니다. 먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable826(    FirstName varchar(100),    Age int);Query OK, 0 rows affected (0.60 sec)이제 insert 명령을 사용해 테이블에 데이터를 삽입합니다. 이때 일부 레코드의 FirstName 값은 의도적으로

  6. MySQL CROSS JOIN(교차 조인)으로 이전 행 값 누적 합산하기 – 현재 행까지의 합계를 다른 열에 표시하는 방법

    MySQL에서 각 행에 대해 이전 행들의 값을 누적하여 합산하고, 그 결과를 별도의 열에 표시하려면 사용자 정의 변수와 CROSS JOIN(교차 조인)을 함께 활용하면 됩니다. 아래에서 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable(Value int);Query OK, 0 rows affected (1.79 sec)2. 샘플 데이터 삽입하기INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.mysql> insert into DemoTab

  7. MySQL 쿼리로 폴더 경로의 백슬래시만 다른 특수 문자로 대체하는 방법

    폴더 경로에 포함된 백슬래시(\)를 다른 특수 문자로 대체하려면 MySQL의 REPLACE() 함수를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 백슬래시만 선택적으로 치환하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 폴더 경로를 저장할 테이블을 생성합니다.mysql> create table DemoTable827(Path text); Query OK, 0 rows affected (0.69 sec)2. 샘플 데이터 삽입하기INSERT 명령을 사용하여 백슬래시가 포함된 폴더 경로 데이터를 입력합니다.mysql

  8. MySQL에서 타임스탬프(Timestamp)가 설정되어 있는지 확인하는 방법

    MySQL에서 TIMESTAMP 컬럼의 값이 실제로 설정되어 있는지(유효한 날짜 값인지) 확인해야 하는 경우가 있습니다. 예를 들어 0000-00-00처럼 초기화되지 않은 값과 실제 날짜 값을 구분하고 싶을 때 유용합니다. 이 글에서는 간단한 비교 연산자를 활용해 타임스탬프 설정 여부를 확인하는 방법을 단계별로 살펴보겠습니다.1. 테스트용 테이블 생성먼저 TIMESTAMP 타입의 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable855(DueDate timestamp);Query OK, 0 r

  9. MySQL 테이블 값에서 백분율(%) 기호만 제거하는 방법

    MySQL에서 저장된 데이터에 백분율(%) 기호가 포함되어 있어 숫자로만 활용하고 싶은 경우가 종종 있습니다. 이럴 때는 REPLACE() 함수를 사용하면 간단하게 해결할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, UPDATE 문과 REPLACE 함수를 활용해 값에서 % 기호만 제거하는 과정을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 고객 이름과 이자율을 저장할 테이블을 생성합니다.mysql> create table DemoTable828(    CustomerName varchar(100)

  10. 단일 MySQL 쿼리로 길이가 다른 부분 문자열을 표시하고 UNION ALL로 결과 결합하기

    개요MySQL에서는 하나의 쿼리만으로 길이가 서로 다른 부분 문자열을 추출하고, 그 결과를 하나로 합쳐서 표시할 수 있습니다. 이 작업에는 SUBSTR() 함수와 UNION ALL 연산자를 함께 활용합니다.테이블 생성 및 데이터 준비먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable856(Title text);Query OK, 0 rows affected (0.89 sec)insert 명령을 사용하여 테이블에 몇 개의 레코드를 삽입합니다.mysql> insert into D

  11. MySQL에서 하이픈(-)으로 구분된 0 패딩 처리하기

    MySQL에서 숫자 데이터 앞에 하이픈(-)으로 구분된 0(zero padding)을 붙여야 하는 경우가 종종 있습니다. 예를 들어 일련번호를 000-100과 같은 형식으로 표시하고 싶을 때가 그렇습니다. 이 글에서는 CONCAT() 함수와 RIGHT() 함수를 조합하여 이러한 형식을 손쉽게 만드는 방법을 알아보겠습니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable829(SerialNumber int); Query OK, 0 rows affected (0.

  12. MySQL에서 REPLACE()와 SUM()으로 소수점을 제거하고 레코드 합계 구하기

    소수점을 제거한 레코드 합계 구하기테이블에 저장된 값에서 소수점(.)을 제거한 뒤 전체 합계를 계산하려면 MySQL의 집계 함수 SUM()과 문자열 치환 함수 REPLACE()를 함께 사용하면 됩니다. REPLACE()로 각 레코드에서 마침표를 제거한 후, 그 결과를 SUM()으로 더하는 방식입니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable857(Price varchar(100));Query OK, 0 rows affected (1.40 sec)샘플 데이터 삽입inser

  13. MySQL에서 <> 연산자와 IS NOT NULL의 차이점 완벽 정리

    MySQL에서 <>와 NULL 비교 시 주의할 점MySQL에서 <> 연산자(같지 않음)를 사용하여 NULL 값과 비교하면 결과는 항상 NULL이 반환됩니다. 따라서 WHERE 절에서 이 조건을 사용하면 아무런 행도 조회되지 않습니다.NULL은 값이 없음을 의미하는 특수한 상태이기 때문에, 일반적인 비교 연산자로는 비교 자체가 성립하지 않습니다. 이는 SQL 표준에서 정한 규칙으로, NULL과의 모든 비교 연산(<, >, =, <> 등)의 결과는 TRUE나 FALSE가 아닌 UNKNOWN(NULL)이

  14. MySQL에서 모든 행의 DATETIME 필드를 현재 날짜로 일괄 업데이트하는 방법

    MySQL에서 테이블의 모든 행에 있는 DATETIME 필드 값을 현재 날짜로 한 번에 변경해야 하는 경우가 종종 있습니다. 예를 들어 데이터 마이그레이션, 테스트 환경 구성, 배치 작업 등에서 이런 요구가 발생합니다. 이 글에서는 CURDATE() 함수를 활용한 UPDATE 쿼리로 이 작업을 간단하게 처리하는 방법을 단계별로 알아보겠습니다.1. 테이블 생성하기먼저 DATETIME 타입의 컬럼을 포함하는 테이블을 생성합니다.mysql> create table DemoTable821(AdmissionDate datetime);Q

  15. MySQL에서 특정 마지막 3자리 숫자를 가진 값 제외하는 방법

    MySQL에서 특정 마지막 3자리 숫자를 가진 값을 조회 결과에서 제외하려면 RIGHT() 함수와 NOT IN 연산자를 함께 사용하면 됩니다. RIGHT() 함수는 문자열의 오른쪽부터 지정한 개수만큼의 문자를 반환하므로, 이를 활용해 값의 마지막 3자리를 추출한 뒤 제외할 값과 비교할 수 있습니다.예제 테이블 생성먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable(Value int); Query OK, 0 rows affected (0.71 sec)데이터 삽입INSERT 명령을 사용하여

  16. MySQL에서 특정 단어의 위치를 기준으로 ORDER BY 정렬하는 방법

    MySQL에서 특정 단어의 위치를 기준으로 ORDER BY 정렬하는 방법문자열 안에서 특정 단어가 나타나는 위치를 기준으로 결과를 정렬하려면 ORDER BY 절과 INSTR() 함수를 함께 사용하면 됩니다. INSTR() 함수는 문자열 내에서 지정한 단어가 처음 등장하는 위치(인덱스)를 반환하므로, 이 값을 정렬 기준으로 사용하면 해당 단어가 앞쪽에 있는 레코드부터 순서대로 조회됩니다.아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create ta

  17. MySQL에서 제품당 평균 가격이 특정 값보다 작은 제품 조회하는 방법

    MySQL에서 제품별 평균 가격을 계산한 뒤, 그 평균값이 특정 값보다 작은 제품만 조회하고 싶다면 GROUP BY와 HAVING 절을 함께 사용하면 됩니다. WHERE 절은 집계 함수를 사용할 수 없기 때문에, 집계 결과에 조건을 걸 때는 반드시 HAVING 절을 활용해야 합니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable848(     ProductId int,     ProductPr

  18. MySQL에서 RIGHT() 함수로 특정 마지막 숫자를 가진 레코드 조회하기

    MySQL에서 열의 마지막 숫자로 레코드 찾기MySQL에서 특정 마지막 숫자로 끝나는 레코드를 조회하려면 RIGHT() 함수를 사용하면 됩니다. RIGHT() 함수는 문자열의 오른쪽부터 지정한 개수만큼의 문자를 반환하는 함수로, 마지막 자릿수를 손쉽게 추출할 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable823(Value varchar(100));Query OK, 0 rows affected (0.54 sec)INSERT 명령을 사용하여 테이블에 샘플 데이터를 입

  19. MySQL ORDER BY FIELD()로 특정 값 우선 정렬하는 방법

    MySQL에서 쿼리 결과를 정렬할 때 특정 필드의 값을 원하는 순서대로 먼저 배치하고 싶은 경우가 있습니다. 이럴 때 ORDER BY FIELD() 함수를 사용하면 ASC나 DESC 같은 일반적인 정렬 방식 대신, 개발자가 직접 지정한 사용자 정의 순서대로 결과를 정렬할 수 있습니다. 아래에서는 예제 테이블을 생성하고 데이터를 삽입한 뒤, FIELD() 함수를 활용해 색상(Color) 값을 RED → GREEN → BLUE → ORANGE 순서로 정렬하는 과정을 단계별로 살펴보겠습니다. 1. 예제 테이블 생성하기 먼저 아래 쿼리로

  20. MySQL에서 특정 ID의 마지막 레코드를 업데이트하는 방법 (ORDER BY DESC LIMIT 1)

    MySQL에서 특정 ID의 마지막 항목(레코드)을 업데이트하려면 ORDER BY DESC와 LIMIT 1을 함께 사용하면 됩니다. 이 방법을 활용하면 테이블에서 가장 최근에 추가된 행, 즉 마지막 레코드를 손쉽게 수정할 수 있습니다.예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable824(   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,   ClientName varchar

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:74/229  20-컴퓨터/Page Goto:1 68 69 70 71 72 73 74 75 76 77 78 79 80