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

MySQL

  1. MySQL에서 DATE 및 NULL 레코드가 포함된 테이블의 날짜 필터링 방법

    MySQL에서 DATETIME 컬럼에 NULL 값이 섞여 있을 때는 단순한 비교 연산만으로는 원하는 결과를 얻기 어렵습니다. 이 글에서는 DATE 값과 NULL 레코드가 공존하는 테이블에서 날짜 조건으로 데이터를 올바르게 필터링하는 방법을 예제와 함께 살펴보겠습니다.1. 테이블 생성하기먼저 DATETIME 타입의 두 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable ( FirstDate datetime, SecondDate datetime ); Query OK, 0 rows a

  2. MySQL 단일 쿼리에서 COUNT()와 IF()를 함께 사용하는 방법

    데이터를 분석하다 보면 하나의 쿼리 안에서 특정 조건을 만족하는 행의 개수만 집계해야 하는 경우가 자주 발생합니다. MySQL에서는 COUNT() 함수와 IF() 함수를 조합하면 이런 작업을 아주 간단하게 처리할 수 있습니다. 핵심 원리는 COUNT() 함수가 NULL 값은 제외하고 계산한다는 점입니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( isValidUser boolean ); Query OK, 0 rows affected (0.70 sec

  3. MySQL 데이터베이스에서 임의(랜덤) 항목을 선택하는 방법

    MySQL에서 테이블의 데이터를 조회할 때 ORDER BY RAND() 절과 LIMIT를 함께 사용하면 임의의(랜덤한) 행을 손쉽게 선택할 수 있습니다. 이번 글에서는 예제를 통해 MySQL 데이터베이스에서 무작위 항목 하나를 가져오는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(100), C

  4. MySQL에서 더하기 기호(+)를 공백(SPACE)으로 바꾸는 방법

    MySQL REPLACE() 함수로 더하기 기호(+)를 공백으로 치환하기문자열에 포함된 더하기 기호(+)를 공백으로 바꾸고 싶다면 MySQL에서 제공하는 REPLACE() 함수를 사용하면 됩니다. REPLACE() 함수는 지정한 문자열에서 특정 문자나 부분 문자열을 찾아 원하는 값으로 손쉽게 치환해 주는 유용한 문자열 함수입니다.먼저 실습에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable(   Number varchar(100));Query OK, 0 rows affec

  5. MySQL 와일드카드(*)로 두 열의 값 나누고 새 열에 결과 표시하는 쿼리 방법

    MySQL에서 두 열의 값을 나누어 새 열에 표시하는 방법MySQL에서는 SELECT 문과 별표(*) 와일드카드를 활용하면 테이블의 모든 열을 조회하면서 동시에 두 열의 나눗셈 결과를 새로운 열로 출력할 수 있습니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value1 int, Value2 int ); Query

  6. MySQL에서 VARCHAR형 날짜 문자열 목록의 최대(최신) 날짜 구하기

    MySQL에서 날짜가 VARCHAR 타입으로 저장되어 있으면 단순히 MAX() 함수만으로는 올바른 최대 날짜를 구할 수 없습니다. 이럴 때는 STR_TO_DATE() 함수로 문자열을 먼저 날짜로 변환한 뒤 집계해야 합니다. 아래 예제와 함께 살펴보겠습니다.1. 테이블 생성먼저 날짜를 varchar 컬럼에 저장할 테이블을 생성합니다.mysql> create table DemoTable ( AdmissionDate varchar(100) ); Query OK, 0 rows affected (0.76 sec)2. 샘플 데이터

  7. MySQL에서 날짜 컬럼 기준 최신 날짜 한 건만 조회하는 방법

    개요MySQL에서 날짜(DATE) 타입의 데이터가 저장된 테이블에서 가장 최근의 날짜(최신 날짜)를 조회해야 하는 경우가 자주 있습니다. 예를 들어 마감일, 등록일, 수정일 중 가장 늦은 날짜 하나만 가져오고 싶다면 ORDER BY ... DESC와 LIMIT 1을 조합하면 간단하게 해결할 수 있습니다.이번 글에서는 실제 예제 테이블을 만들고, 최신 날짜를 조회하는 쿼리를 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 날짜를 저장할 테이블을 생성합니다.mysql> create table DemoTable ( DueD

  8. MySQL 테이블의 모든 레코드에 TRIM 함수 적용하기

    TRIM 함수란?MySQL의 TRIM() 함수는 문자열 앞과 뒤에 있는 불필요한 공백을 제거하는 데 사용됩니다. 데이터 입력 과정에서 실수로 공백이 함께 저장되는 경우가 종종 있는데, 이런 경우 TRIM 함수를 활용하면 손쉽게 정리할 수 있습니다.이 글에서는 UPDATE 문과 TRIM() 함수를 조합하여 테이블의 모든 레코드에서 공백을 한 번에 제거하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable ( StudentName

  9. MySQL REGEXP를 활용한 알파벳순(A~C) 검색 쿼리 작성법

    MySQL에서 REGEXP로 알파벳순 검색하기MySQL에서 알파벳 순서로 데이터를 검색하려면 REGEXP(정규 표현식) 연산자를 사용하는 것이 가장 간편합니다. 예를 들어, 이름이 A, B, C로 시작하는 레코드만 조회하고 싶다면 아래와 같은 문법을 사용할 수 있습니다.SELECT * FROM 테이블명 WHERE 컬럼명 REGEXP ^[ABC];여기서 ^[ABC]는 해당 컬럼의 값이 A, B, C 중 하나의 문자로 시작한다는 의미입니다. 캐럿(^) 기호가 문자열의 시작을 나타내며, 대괄호 안의 문자 중 하나와 일치하면 조건에 부합하

  10. MySQL 숫자 열에서 최댓값을 구하는 2가지 방법

    ```html MySQL에서 특정 열의 최댓값을 조회하는 방법은 크게 두 가지가 있습니다. MAX() 집계 함수를 사용하는 방법과, ORDER BY 절과 LIMIT을 조합해 내림차순 정렬 후 첫 번째 행을 가져오는 방법입니다.기본 문법최댓값을 가져오려면 아래 두 가지 문법 중 하나를 사용하면 됩니다.SELECT MAX(yourColumnName) FROM yourTableName;또는SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;두 방식 모두 동일한 결과를 반환하

  11. MySQL에서 숫자가 포함된 문자열 열을 문자 기준으로 정렬하는 방법(ORDER BY)

    MySQL ORDER BY로 문자열의 문자 부분 기준 정렬하기MySQL에서 456 John Smith처럼 숫자와 문자가 섞여 있는 문자열이 저장된 열을 정렬할 때, 숫자가 아닌 문자(이름) 부분을 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 ORDER BY SUBSTRING()과 LOCATE() 함수를 함께 사용하면 간단하게 해결할 수 있습니다.예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id varchar(1

  12. MySQL에서 다른 열의 BOOLEAN 값 기준으로 행 연결하는 방법 (GROUP_CONCAT 활용)

    개요MySQL에서 다른 열의 BOOLEAN(부울) 값을 기준으로 여러 행을 하나로 연결하려면 GROUP_CONCAT() 함수를 사용하면 됩니다. 이 함수는 GROUP BY 절과 함께 사용하여 특정 기준별로 문자열 값을 쉼표 등의 구분자로 묶어 반환합니다.이번 글에서는 예제 테이블을 만들고, BOOLEAN 값(1 또는 0)에 따라 메시지를 그룹화하여 연결하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 테이블을 생성합니다. 여기서는 isValidUser 열을 BOOLEAN 타입으로 선언했습니다.mysql> creat

  13. MySQL 테이블 생성 시 SET 옵션 설정 방법과 조회하기

    MySQL에서 SET 데이터 타입은 컬럼에 여러 개의 미리 정의된 값을 저장할 수 있게 해주는 유용한 기능입니다. 이 글에서는 테이블을 생성할 때 SET 옵션을 설정하는 방법과, 설정된 옵션 목록을 확인하는 두 가지 방법을 알아보겠습니다.1. SET 옵션이 포함된 테이블 생성하기먼저 SET 옵션을 지정하여 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Color SET(RED,GREEN,BLUE,YELLOW) ); Query OK, 0 rows affected (0.47 sec)위

  14. MySQL에서 HAVING LENGTH()를 활용해 필드 길이별로 그룹화하고 조건을 거는 방법

    MySQL에서 HAVING LENGTH(필드) 절을 사용하면 문자열 길이를 기준으로 그룹화한 결과에 조건을 적용할 수 있습니다. 이번 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 HAVING LENGTH()를 활용한 쿼리 작성까지 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다. Title이라는 TEXT 타입 컬럼 하나를 가진 DemoTable을 만들어 보겠습니다.mysql> create table DemoTable ( Title text ); Query OK, 0

  15. SQL 쿼리로 MySQL에 저장된 가격에서 20% 세금(부가세) 제거하는 방법

    저장된 가격에 20%의 판매세가 이미 포함되어 있다고 가정해 보겠습니다. 이런 경우 UPDATE 문과 간단한 나눗셈 연산만으로 세전 가격을 한 번에 계산할 수 있습니다. 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성먼저 가격을 저장할 테이블을 생성합니다.mysql> create table DemoTable ( Price int ); Query OK, 0 rows affected (1.09 sec)2. 샘플 데이터 입력INSERT 명령을 사용해 몇 개의 레코드를 삽입합니다.mysql> insert into D

  16. MySQL 쿼리로 열 값에서 첫 번째 단어만 제거하는 방법

    MySQL에서 열 값의 첫 번째 단어만 제거하기 열 값에서 첫 번째 단어만 제거하려면 SUBSTRING() 함수와 LOCATE() 함수를 함께 사용하면 됩니다. LOCATE()로 첫 번째 공백의 위치를 찾은 후, 그다음 문자부터 문자열을 잘라내는 방식입니다. 기본 문법 SELECT SUBSTRING(yourColumnName, LOCATE( , yourColumnName)+1) AS anyAliasName FROM yourTableName; 동작 원리 LOCATE( , 컬럼명) : 문자열에서 첫 번째 공백의 위치를 반환합니다.

  17. MySQL에서 CURRENT_TIMESTAMP를 오전/오후(AM/PM) 형식으로 포맷하는 방법

    MySQL DATE_FORMAT()으로 시간을 AM/PM 형식으로 변환하기MySQL에서 시간 값을 12시간제(오전/오후) 형식으로 표시하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 특히 형식 지정자 %r을 활용하면 시간을 hh:mm:ss AM/PM 형태로 손쉽게 변환할 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable(    LoginTime time);Query OK, 0 rows affected (0.48 sec)1

  18. MySQL에서 특정 값보다 큰 값을 가진 레코드를 삭제하는 방법

    개요MySQL에서는 DELETE 문과 WHERE 절에 비교 연산자를 함께 사용하면, 특정 값보다 큰 값을 가진 레코드(행)를 손쉽게 삭제할 수 있습니다. 이 글에서는 예제 테이블을 만들고, 점수가 900보다 큰 플레이어 데이터를 삭제하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, PlayerName varchar(100), P

  19. MySQL 데이터베이스에서 인덱스 조회하는 방법 (information_schema 활용법)

    MySQL 데이터베이스의 인덱스 목록 확인하기MySQL에서 특정 데이터베이스에 생성된 모든 인덱스 정보를 한눈에 확인하고 싶다면 information_schema의 statistics 테이블을 조회하는 것이 가장 간편한 방법입니다. 이 테이블에는 서버 내 모든 테이블의 인덱스 관련 메타데이터가 저장되어 있습니다.기본 조회 문법인덱스를 확인하기 위한 기본적인 쿼리 문법은 다음과 같습니다.select * from information_schema.statistics where table_schema = yourDatabaseName;여

  20. MySQL 테이블 생성 시 AUTO_INCREMENT 시작값 설정과 ZEROFILL 활용법 – INSERT 시 값이 자동으로 채워지는 방식

    AUTO_INCREMENT 초기값과 ZEROFILL을 함께 적용한 테이블 만들기예제를 통해 직접 확인해 보겠습니다. StudentId 컬럼의 AUTO_INCREMENT 시작값을 100으로 지정하고, 동시에 ZEROFILL 옵션까지 적용한 테이블을 생성합니다.mysql> create table DemoTable ( StudentId int(7) ZEROFILL NOT NULL AUTO_INCREMENT, PRIMARY KEY(StudentId) )AUTO_INCREMENT=100; Query OK, 0 rows a

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:69/229  20-컴퓨터/Page Goto:1 63 64 65 66 67 68 69 70 71 72 73 74 75