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

MySQL

  1. MySQL에서 조회 결과의 중복 행을 제거하는 방법 – DISTINCT 키워드 완벽 가이드

    MySQL에서 쿼리가 반환하는 결과 집합에서 중복된 행을 걸러내려면 SELECT 절에 DISTINCT 키워드를 사용하면 됩니다. DISTINCT는 SELECT 절에 지정된 모든 컬럼(데이터 필드)의 조합 전체를 기준으로 적용되며, 지정한 컬럼들의 값이 모두 동일한 행은 하나로 묶여 한 번만 반환됩니다.DISTINCT 기본 문법SELECT DISTINCT column1, column2, ... FROM table_name;예제다음과 같이 구성된 Student 테이블에 DISTINCT 키워드를 적용해 보겠습니다.mysql> Sel

  2. MySQL DATEDIFF() 함수에서 2자리 연도 값 활용하는 방법

    MySQL DATEDIFF() 함수에서 2자리 연도 값 활용하기MySQL의 DATEDIFF() 함수에서는 2자리 연도 값을 하나의 날짜 표현식에만 사용할 수도 있고, 인수로 전달되는 두 날짜 표현식 모두에 사용할 수도 있습니다.한쪽 표현식에만 2자리 연도를 사용하는 경우예를 들어 아래 쿼리는 첫 번째 날짜 표현식에는 2자리 연도 값을, 두 번째 날짜 표현식에는 4자리 연도 값을 사용하고 있습니다.mysql> Select DATEDIFF(18-10-22,2017-10-22);+-----------------------------

  3. MySQL에서 두 시간 값의 차이를 계산하는 방법 – TIMEDIFF() 함수 활용법

    MySQL에서 두 시간 값 사이의 차이를 계산해야 할 때가 종종 있습니다. 예를 들어 작업 시작 시간과 종료 시간의 간격을 구하거나, 두 이벤트 발생 시점의 차이를 확인하고 싶은 경우가 그렇습니다. 이럴 때 TIMEDIFF() 함수를 사용하면 매우 간단하게 해결할 수 있습니다.TIMEDIFF() 함수란?TIMEDIFF()는 MySQL에서 제공하는 날짜·시간 관련 내장 함수로, 두 개의 시간(time) 또는 날짜-시간(datetime) 표현식을 인자로 받아 그 차이를 시간 값으로 반환합니다. 반환되는 결과는 HH:MM:SS 형식으로

  4. MySQL TIMEDIFF() 함수에 날짜 구성 요소가 포함된 값을 인수로 전달하면 어떤 결과가 반환될까?

    TIMEDIFF() 함수의 인수로 날짜 구성 요소(연도, 월, 일)가 포함된 날짜-시간 값을 전달하면, MySQL은 두 값 사이의 차이를 계산한 뒤 이를 시간(TIME) 값으로 변환하여 결과를 반환합니다.즉, 입력값에 날짜 부분이 포함되어 있더라도 최종 출력은 항상 HH:MM:SS 형식의 시간 값으로 나타납니다.예제mysql> Select TIMEDIFF(2017-10-22 04:05:45, 2017-10-21 03:04:44) AS Difference in Time; +--------------------+ | Differe

  5. MySQL에서 구분 기호 없는 숫자와 문자열을 날짜로 해석하는 방법

    MySQL의 날짜 해석 규칙MySQL은 구분 기호(하이픈, 콜론 등)가 전혀 포함되지 않은 문자열이나 숫자라도 YYYYMMDDHHMMSS 또는 YYMMDDHHMMSS 형식으로 작성되어 유효한 날짜로 성립한다면, 이를 정상적인 날짜 값으로 인식합니다.즉, 연도·월·일·시·분·초 각 자릿수가 실제 존재할 수 있는 범위 안에 있다면 별도의 구분 기호 없이도 날짜로 변환할 수 있습니다. 아래에서 유효한 경우와 무효한 경우의 예시를 살펴보겠습니다.유효한 날짜로 해석되는 경우mysql> Select Timestamp(20171022040

  6. MySQL에서 정렬된 출력 결과를 얻는 방법

    MySQL에서 SELECT 명령은 테이블로부터 데이터를 조회하는 데 사용됩니다. 이때 결과를 어떤 기준으로 정렬할지 지정하지 않으면, MySQL 서버는 행들을 임의의 순서로 반환할 수 있습니다. 따라서 원하는 순서대로 결과를 얻으려면 ORDER BY 절을 추가하여 정렬 기준이 될 열(컬럼)을 명시해야 합니다.구문SELECT column1, column2, …, columnNFROM table_nameORDER BY column1 [ASC|DESC], [column2, …];ORDER BY 절은 기본적으로 오름차순(ASC)으로 정렬하

  7. MySQL에서 동일한 열에 여러 조건을 적용해 데이터를 조회하는 방법

    데이터베이스 작업을 하다 보면 하나의 열(컬럼)에 여러 조건을 걸어 해당 조건과 일치하는 레코드만 조회해야 하는 경우가 자주 발생합니다. MySQL에서는 이런 상황을 처리하기 위해 여러 가지 방법을 사용할 수 있으며, 대표적인 방법으로 OR 논리 연산자와 WHERE IN(...) 절이 있습니다.OR 논리 연산자 활용하기MySQL의 OR 연산자는 두 개의 표현식을 비교하여 그중 하나라도 TRUE이면 TRUE를 반환합니다. 따라서 동일한 열에 대한 여러 조건을 연결하는 데 유용하게 사용됩니다.다음 예제는 Student 테이블에서 Nam

  8. MySQL에서 두 자리 연도(YEAR(2))로 날짜를 저장하면 안 되는 이유

    MySQL의 YEAR(2) 데이터 타입은 연도를 두 자리 숫자 형식으로 저장합니다. 예를 들어 1969년을 저장하고 싶다면 69라고 입력하면 됩니다. YEAR(2)로 표현할 수 있는 연도 범위는 1970년부터 2069년까지이며, 각각 70부터 69까지의 값으로 입력합니다.MySQL이 두 자리 연도 값을 해석하는 규칙MySQL은 두 자리 연도 값을 다음과 같은 규칙에 따라 해석합니다.00~69 범위의 값은 2000~2069년으로 변환됩니다.70~99 범위의 값은 1970~1999년으로 변환됩니다.그렇다면 왜 날짜 값을 두 자리 형식으

  9. MySQL에서 날짜 값으로 인식되기 위해 문자열이나 숫자에 필요한 최소 자릿수는 얼마인가?

    MySQL에서 문자열이나 숫자를 날짜 값으로 지정할 때 필요한 최소 자릿수는 연도를 어떻게 표현하느냐에 따라 달라집니다. 이 글에서는 연도를 4자리로 표현하는 경우와 2자리로 표현하는 경우 각각의 자릿수 요건과 예제를 살펴봅니다.연도를 4자리로 표현하는 경우연도를 4자리 값으로 다룰 때는 MySQL이 이를 날짜 값으로 인식하기 위해 문자열이나 숫자에 최소 8자리가 필요합니다. 여기에 마이크로초까지 저장하고 싶다면 최대 20자리까지 사용할 수 있습니다.mysql> Select TIMESTAMP(20171022040536.1000

  10. MySQL INTERVAL 키워드에서 산술 연산자(+, -, *, /)를 활용하는 방법

    MySQL의 INTERVAL 키워드와 함께 산술 연산자(+, -, *, /)를 사용하면 날짜 계산을 더욱 유연하게 처리할 수 있습니다. INTERVAL 단위 값 자체에 연산식을 넣어 원하는 기간을 동적으로 지정할 수 있는데, 각 연산자별 사용 예시를 살펴보겠습니다.덧셈(+) 연산자 활용INTERVAL 값 안에서 덧셈 연산을 수행하면 두 값의 합만큼 날짜가 이동합니다. 아래 예제는 2+2인 4년 후의 날짜를 반환합니다.mysql> Select date(2017-10-22 + INTERVAL 2+2 Year) AS Date Aft

  11. MySQL에서 여러 열을 기준으로 정렬된 결과를 얻는 방법

    ORDER BY 절에 여러 열 지정하기MySQL에서 정렬된 출력을 얻으려면 ORDER BY 절을 사용합니다. 만약 하나의 열이 아닌 여러 열을 기준으로 데이터를 정렬하고 싶다면, ORDER BY 절에 쉼표(,)로 구분하여 여러 개의 열 이름을 나열하면 됩니다.이때 MySQL은 먼저 첫 번째로 지정된 열을 기준으로 오름차순(기본값) 정렬을 수행한 뒤, 첫 번째 열의 값이 동일한 행들에 대해서만 두 번째 열을 기준으로 다시 정렬합니다. 이 원리를 이해하면 복잡한 조건의 정렬도 손쉽게 처리할 수 있습니다.다음 예제는 Student 테이블

  12. MySQL에서 출력 결과를 내림차순으로 정렬하는 방법

    MySQL에서 조회 결과를 내림차순으로 정렬하려면 ORDER BY 절에 DESC(DESCENDING의 약자) 키워드를 지정해야 합니다.기본 문법SELECT column1, column2, ..., columnNFROM table_nameORDER BY column1 [column2, ...] DESC;ORDER BY 절 뒤에 정렬 기준이 될 컬럼을 작성하고, 마지막에 DESC 키워드를 붙이면 해당 컬럼의 값이 큰 것부터 작은 것 순서로(내림차순) 정렬됩니다. 여러 개의 컬럼을 기준으로 정렬할 수도 있으며, 이 경우 첫 번째 컬럼 값

  13. MySQL UNIX_TIMESTAMP 함수에 인수로 전달할 수 있는 날짜·시간 값의 범위는 얼마일까?

    MySQL의 UNIX_TIMESTAMP() 함수에 인수로 전달할 수 있는 날짜·시간 값의 범위는 TIMESTAMP 데이터 타입의 유효 범위와 동일합니다. 즉, 1970-01-01 00:00:01부터 2038-01-19 08:44:07까지입니다.만약 이 범위를 벗어나는(그 이후 또는 그 이전) 날짜·시간 값을 UNIX_TIMESTAMP 함수에 전달하면, MySQL은 오류 대신 0을 반환합니다. 이는 유닉스 타임스탬프가 내부적으로 부호 있는 32비트 정수(signed integer)로 처리되기 때문이며, 그 최댓값인 2147483647

  14. MySQL에서 복합 INTERVAL 단위를 사용하는 방법

    MySQL에서는 하나의 INTERVAL 표현식에 두 개 이상의 시간 단위를 동시에 지정할 수 있습니다. 이를 복합(compound) INTERVAL 단위라고 하며, 날짜나 시간 값에 여러 단위를 한 번에 더하거나 뺄 때 매우 유용합니다.복합 INTERVAL 단위의 기본 문법복합 INTERVAL 단위 키워드는 두 개의 단위 키워드가 언더스코어(_)로 연결된 형태로 구성됩니다. 예를 들어 YEAR_MONTH, DAY_HOUR, HOUR_MINUTE 등이 대표적입니다.복합 단위를 실제로 사용할 때는 다음 두 가지 규칙을 반드시 지켜야 합

  15. 특정 MySQL 테이블에서 모든 레코드를 가져오는 방법

    SELECT 쿼리로 테이블의 전체 레코드 조회하기MySQL 테이블에 저장된 모든 레코드를 한 번에 가져오려면 SELECT * FROM table_name; 구문을 사용하면 됩니다. 여기서 별표(*)는 테이블의 모든 열(column)을 의미하며, WHERE 절을 생략하면 조건 없이 전체 행(row)이 반환됩니다.사용 예시다음은 Employee 테이블에 저장된 모든 레코드를 조회하는 예제입니다.mysql> SELECT * FROM Employee; +------+--------+ | Id | Name | +------+--

  16. MySQL 날짜에 반년(6개월) 간격 더하는 방법 2가지

    MySQL에서 특정 날짜에 반년(6개월) 간격을 더하고 싶다면 INTERVAL 키워드를 활용하면 됩니다. 실무에서 자주 사용되는 대표적인 방법은 다음 두 가지입니다.(A) 6개월(MONTH) 단위로 더하기가장 직관적인 방법으로, 날짜 값에 6개월 간격을 그대로 더하는 방식입니다.mysql> Select 2017-06-20 + INTERVAL 6 Month AS After Half Year Interval;+--------------------------+| After Half Year Interval |+------------

  17. '월' 키워드 없이 MySQL 날짜에 3개월 간격을 추가하는 방법 – QUARTER 키워드 활용하기

    QUARTER 키워드로 3개월 간격 더하기MySQL에서 날짜에 3개월 간격을 더할 때 일반적으로 INTERVAL n MONTH 구문을 사용합니다. 하지만 월(Month)이라는 단어를 사용하고 싶지 않다면 QUARTER 키워드를 활용할 수 있습니다.1분기(Quarter)는 정확히 3개월에 해당하므로, INTERVAL 1 QUARTER를 사용하면 날짜에 3개월 간격을 손쉽게 더할 수 있습니다.사용 예제mysql> Select 2017-06-20 + INTERVAL 1 Quarter AS After 3 Months Interval;

  18. MySQL 테이블에서 하나 이상의 열을 조회하는 방법

    MySQL 테이블에서 하나 이상의 열(column)을 결과로 가져오려면 SELECT 명령문을 사용하면 됩니다. SELECT 뒤에 원하는 열 이름을 쉼표(,)로 구분하여 나열하면 해당 열들만 조회할 수 있고, 모든 열을 가져오려면 별표(*)를 사용합니다.예제 데이터 준비먼저 예제로 사용할 Student 테이블의 전체 내용은 다음과 같습니다.mysql> Select * from Student; +------+---------+---------+-----------+ | Id | Name | Address | Subjec

  19. MySQL 테이블에서 특정 행을 조회하는 방법 – WHERE 절 활용하기

    MySQL에서 원하는 특정 행을 조회하려면 SELECT 문에 WHERE 절을 사용해야 합니다. WHERE 절은 조건을 지정하는 역할을 하며, MySQL은 이 조건에 일치하는 행만 반환하기 때문입니다.WHERE 절 사용 예시예를 들어, student(학생) 테이블에서 이름이 Aarav인 학생의 정보만 가져오고 싶다면 다음과 같은 쿼리를 작성할 수 있습니다.mysql> Select * from Student WHERE Name = Aarav; +------+-------+---------+---------+ | Id | Nam

  20. MySQL 날짜 구분 기호로 사용할 수 있는 구두점 문자는 무엇일까?

    MySQL은 날짜를 입력할 때 비교적 유연한(완화된) 형식을 허용합니다. 즉, 날짜의 각 부분(연도, 월, 일) 사이에 어떤 구두점 문자든 자유롭게 사용할 수 있습니다. 이러한 특성 덕분에 개발자는 다양한 형태의 날짜 문자열을 그대로 사용하더라도 MySQL이 올바르게 인식하고 처리해 줍니다.다양한 구두점 문자 예시아래 예시에서 볼 수 있듯이, 슬래시(/), 캐럿(^), 앳(@), 더하기(+) 등 어떤 구두점을 사용하든 MySQL은 모두 동일한 날짜 값으로 해석합니다.mysql> Select date (2016/10/20); +

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:220/229  20-컴퓨터/Page Goto:1 214 215 216 217 218 219 220 221 222 223 224 225 226