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

MySQL

  1. MySQL에서 SELECT *와 열 이름 직접 나열, 무엇이 더 빠를까?

    SELECT *보다 열 이름을 직접 나열하는 것이 더 빠릅니다MySQL에서 SELECT *는 테이블의 모든 열을 가져오기 때문에, 필요한 열만 명시적으로 나열하는 방식에 비해 일반적으로 더 느립니다. 따라서 SELECT 쿼리를 작성할 때는 와일드카드(*) 대신 실제로 필요한 열 이름을 직접 나열하는 것이 좋은 습관입니다.간단한 예제를 통해 이를 확인해 보겠습니다.1. 테이블 생성mysql> create table DemoTable(   Id int,   Name varchar(20),&nbs

  2. MySQL 단일 쿼리로 NULL과 0을 제외한 고유 값 개수 계산하기

    데이터 분석 작업을 하다 보면 NULL과 0을 제외한 고유(distinct) 값의 개수를 한 번의 쿼리로 집계해야 하는 경우가 종종 있습니다. 이 글에서는 MySQL에서 이를 처리하는 방법을 예제와 함께 단계별로 살펴보겠습니다. 1. 테이블 생성 먼저 예제에 사용할 테이블을 생성합니다. mysql> create table DemoTable( Value int ); Query OK, 0 rows affected (1.35 sec) 2. 샘플 데이터 삽입 INSERT 명령어를 사용하여 테이블에 여러 레코드를 삽입합니다. m

  3. MySQL에서 마지막 쿼리의 전체 행 수 확인하기 – FOUND_ROWS() 활용법

    MySQL에서 LIMIT으로 일부 행만 가져온 후, 실제 조건에 해당하는 전체 행 수가 궁금할 때가 있습니다. 이럴 때 FOUND_ROWS() 함수를 사용하면 별도의 COUNT 쿼리 없이 전체 행 개수를 바로 확인할 수 있습니다.기본 문법SQL_CALC_FOUND_ROWS 옵션과 함께 아래와 같은 형식으로 쿼리를 작성합니다.SELECT SQL_CALC_FOUND_ROWS TABLE_NAME FROM `information_schema`.tables WHERE TABLE_NAME LIKE yourValue% LIMIT yourLimi

  4. MySQL 단일 쿼리에서 최소값과 최대값을 한 번에 조회하는 방법

    단일 쿼리에서 테이블의 최소값(MIN)과 최대값(MAX)을 동시에 구하려면 MySQL의 UNION 연산자를 활용하면 됩니다. UNION은 여러 SELECT 문의 결과를 하나의 결과 집합으로 합쳐 주기 때문에, 최소값을 조회하는 쿼리와 최대값을 조회하는 쿼리를 결합할 때 매우 유용합니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable ( Price int ); Query OK, 0 rows affected (0.57 sec)2. 데이터 삽입INSER

  5. MySQL에서 열을 변경하면서 부울(BOOLEAN) 타입으로 바꾸고 기본값 1을 설정하는 방법

    기존 열을 변경하면서 동시에 값 1을 할당하려면 MySQL의 DEFAULT 옵션을 활용하면 됩니다. 이렇게 설정해 두면 INSERT 명령 실행 시 해당 열에 값을 지정하지 않아도 자동으로 1이 입력됩니다.테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable (    isAdult int ); Query OK, 0 rows affected (1.39 sec)ALTER TABLE로 부울 열로 변경하고 기본값 1 할당하기다음은 이미 생성된 isAdult

  6. MySQL에서 동일한 ID를 가진 행들의 평균값 구하기

    MySQL에서 GROUP BY 절과 AVG() 함수를 함께 사용하면, 동일한 ID를 가진 여러 행의 값에 대한 평균을 손쉽게 계산할 수 있습니다. 이번 글에서는 학생 ID별 시험 점수 평균을 구하는 실전 예제를 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( StudentId int, StudentMarks int ); Query OK, 0 rows affected (0.83 sec)StudentId(학생 ID)와 Studen

  7. 2일 이내에 만료되는 날짜(레코드)를 조회하는 MySQL 쿼리 작성법

    2일 이내 만료 날짜 조회 쿼리 개요MySQL에서 오늘부터 2일 이내에 만료되는 날짜 데이터를 조회하려면 BETWEEN 키워드와 CURDATE() 함수를 함께 사용하면 됩니다. 이번 글에서는 예제 테이블을 만들고, 실제 쿼리를 통해 만료일이 2일 이내인 레코드를 찾는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 만료 날짜를 저장할 테이블을 생성합니다.mysql> create table DemoTable(   ExpiryDate date);Query OK, 0 rows affected (0

  8. MySQL에서 밑줄(_) 뒤의 문자열만 추출해 UPDATE로 변경하는 방법

    데이터베이스 작업 중 Smith_John처럼 접두사와 밑줄(_)이 붙은 문자열에서, 밑줄 뒤의 실제 이름 부분만 남기고 싶은 경우가 있습니다. 이럴 때 MySQL의 SUBSTRING() 함수와 LIKE 조건절을 조합하면 간단하게 처리할 수 있습니다. 지금부터 단계별 예제를 통해 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( UserName varchar(100) ); Query OK, 0 rows affected (0.69 sec)2.

  9. MySQL에서 특정 숫자보다 큰 값 중 가장 작은 숫자 찾는 방법

    MySQL에서 특정 숫자보다 큰 값들 중 가장 작은 숫자(즉, 바로 위에 있는 다음 숫자)를 찾으려면 MIN() 집계 함수와 WHERE 절을 함께 사용하면 됩니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.54 sec)2. 데이터 삽입하기INSERT 명령을 사용해 몇 개의 레코드를 삽입합니다.mysql> insert into Dem

  10. MySQL에서 일부 레코드를 건너뛰고 내림차순(DESC)으로 정렬된 데이터 조회하기

    MySQL에서 데이터를 내림차순으로 정렬하되, 앞부분의 일부 레코드는 건너뛰고 나머지만 조회하고 싶은 경우가 있습니다. 이럴 때 LIMIT 절의 오프셋(offset) 기능을 활용하면 간단하게 해결할 수 있습니다. 예제와 함께 자세히 살펴보겠습니다.1. 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable (    Id int,    Name varchar(100) ); Query OK, 0 rows affected (0.94 sec)2. 샘플

  11. MySQL에서 열의 고유 레코드 개수 세는 방법 – COUNT(DISTINCT)와 GROUP BY 완벽 정리

    MySQL에서 열의 고유 레코드 개수 구하기MySQL에서 특정 열의 고유(중복 제거) 레코드 개수를 계산하려면 집계 함수 COUNT(*)와 GROUP BY 절을 함께 사용하면 됩니다. 이때 중복 값을 제거하려면 COUNT(DISTINCT 컬럼명) 형태로 작성하는 것이 핵심입니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable (    UserName varchar(100),    UserPostMessage text ); Query OK,

  12. MySQL에서 열의 처음 두 값은 고정하고 나머지 값은 DISTINCT로 중복 제거하여 조회하는 방법

    개요MySQL에서 특정 열의 처음 두 값을 고정된 순서로 출력하고, 나머지 값들은 DISTINCT를 사용해 중복 없이 표시하는 방법을 알아보겠습니다. 이 작업은 UNION 연산자를 활용하면 간단하게 구현할 수 있습니다.테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.96 sec)레코드 삽입INSERT 명령을 사용하여 테이블에 레코드를 삽입합니다.mysql>

  13. MySQL LIMIT로 상위 2개 값 조회하기 – ORDER BY DESC 실전 예제

    MySQL에서 LIMIT 절로 상위 두 개 값 선택하는 방법테이블에서 가장 큰 값들을 기준으로 상위 데이터를 가져오려면 ORDER BY DESC를 사용해야 합니다. 내림차순 정렬과 함께 LIMIT 2를 지정하면 최상위 두 개의 값만 손쉽게 조회할 수 있습니다.예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Amount int ); Query OK, 0 rows affected (0.73 sec)2단계: 데이터 삽입IN

  14. MySQL에서 중복 값이 있는 열의 고유 레코드 개수 구하기

    데이터베이스 작업을 하다 보면 특정 열에 중복된 값이 여러 개 존재할 때, 실제로 몇 개의 고유한(서로 다른) 값이 있는지 확인해야 하는 경우가 자주 있습니다. MySQL에서는 COUNT(DISTINCT) 함수를 사용하면 이를 간단하게 처리할 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성하겠습니다.mysql> create table DemoTable ( StudentId int, StudentFirstName varchar(100) ); Query OK, 0 rows affected (0.88

  15. MySQL 쿼리로 특정 행을 조회하는 방법 완벽 가이드

    MySQL에서 WHERE 절을 활용하면 테이블 내에서 원하는 조건에 맞는 특정 행(row)만 손쉽게 조회할 수 있습니다. 이번 글에서는 예제 테이블을 직접 만들고, 데이터를 삽입한 뒤, 특정 행을 찾아 출력하는 전체 과정을 단계별로 살펴보겠습니다. 1. 예제 테이블 생성하기 먼저 UserId와 UserName 두 개의 컬럼을 가진 테이블을 생성합니다. mysql> create table DemoTable ( UserId int, UserName varchar(100) ); Query OK, 0 rows affe

  16. MySQL에서 NULL 값 비교 후 새 열에 1 표시하는 방법

    MySQL에서 NULL 값 확인하고 새 열에 결과 표시하기MySQL에서 특정 열의 값이 NULL인지 비교한 뒤, 그 결과를 새로운 열에 숫자 형태로 표시해야 하는 경우가 자주 있습니다. 예를 들어 NULL이면 1, NULL이 아니면 0을 출력하는 방식입니다.이럴 때는 IF() 함수와 IS NULL 연산자를 함께 사용하면 간단하게 해결할 수 있습니다. 아래에서 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable ( Name varc

  17. MySQL에서 특정 열의 최대값을 구해 다른 모든 행에 일괄 적용하는 방법

    개요MySQL에서는 서브쿼리를 활용하면 한 열의 최대값(MAX)을 구한 뒤, 그 값을 같은 열의 다른 모든 행에 일괄적으로 표시할 수 있습니다. 이번 글에서는 예제 테이블을 만들고 단계별로 이 방법을 살펴보겠습니다.1. 테이블 생성하기먼저 DemoTable이라는 테이블을 생성합니다. 이름을 저장하는 FirstName 문자열 열과 점수를 저장하는 Score 정수형 열로 구성됩니다.mysql> create table DemoTable ( FirstName varchar(100), Score int ); Query O

  18. MySQL에서 예약어 'index'를 컬럼 이름으로 사용하는 방법

    네, 가능합니다. 다만 index는 MySQL의 예약어(reserved word)이기 때문에, 이를 컬럼 이름으로 사용하려면 반드시 백틱(`) 기호로 감싸야 오류 없이 정상적으로 동작합니다.테이블 생성하기먼저 예약어를 컬럼 이름으로 포함한 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( `index` int ); Query OK, 0 rows affected (0.48 sec)데이터 삽입하기INSERT 명령을 사용해 테이블에 여러 개의 레코드를 추가합니다.mysql> insert

  19. MySQL에서 숫자 집합의 첫 번째 숫자를 기준으로 정렬하는 쿼리 작성법

    쉼표로 구분된 숫자 집합을 저장한 컬럼을 첫 번째 숫자를 기준으로 정렬하려면 ORDER BY 절과 SUBSTRING_INDEX() 함수를 함께 사용하면 됩니다. SUBSTRING_INDEX(컬럼명, ,, 1)은 첫 번째 쉼표 앞까지의 문자열을 반환하며, 이를 CAST(... AS UNSIGNED)로 감싸 숫자로 변환한 후 정렬에 활용하는 원리입니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( SetOfNumbers text ); Query OK, 0 r

  20. MySQL에서 특정 레코드를 조회 결과 맨 위에 배치하는 방법

    MySQL에서 조회 결과 중 특정 조건에 맞는 레코드를 가장 위쪽에 배치하고 싶다면 ORDER BY CASE 구문을 활용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 실제 쿼리를 통해 원하는 레코드를 상단으로 정렬하는 과정을 단계별로 살펴보겠습니다. 1. 테이블 생성 먼저 예제에 사용할 테이블을 생성합니다. mysql> create table DemoTable ( StudentName varchar(100), StudentMarks int ); Query OK, 0 rows affected (0.97 sec

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:65/229  20-컴퓨터/Page Goto:1 59 60 61 62 63 64 65 66 67 68 69 70 71