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

MySQL

  1. MySQL에서 전체 날짜 대신 일(日)만 추출하는 방법

    MySQL에서 전체 날짜 값 대신 일(day) 부분만 추출하고 싶다면 DAYOFMONTH() 함수를 사용하면 됩니다. 이 함수는 DATETIME 또는 DATE 타입의 값에서 해당 월의 며칠인지를 숫자로 반환해 줍니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable747 (DueDate datetime);Query OK, 0 rows affected (0.53 sec)2. 샘플 데이터 삽입하기INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.mysql>

  2. MySQL에서 중복 값 쌍을 찾는 방법 – GROUP BY와 HAVING 절 활용하기

    MySQL에서 중복된 값 쌍(duplicate value pairs)을 찾으려면 GROUP BY 절과 HAVING 절을 함께 사용하면 됩니다. 이 방법은 두 개 이상의 컬럼 조합이 동일하게 나타나는 행을 손쉽게 식별할 수 있어 데이터 정제 작업에 매우 유용합니다.1. 예제 테이블 생성하기먼저 실습용 테이블을 생성합니다.mysql> create table DemoTable748 (Id int, FirstName varchar(100)); Query OK, 0 rows affected (0.46 sec)2. 샘플 데이터 삽입하기I

  3. MySQL 테이블에서 최신 ID를 가진 레코드 조회하는 방법

    MySQL에서 테이블에 저장된 레코드 중 가장 최신(가장 큰) ID를 가진 행만 조회하고 싶다면, ORDER BY ... DESC와 LIMIT 1을 조합하면 간단하게 해결할 수 있습니다. 아래에서 예제 테이블 생성부터 결과 확인까지 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 자동 증가(AUTO_INCREMENT) 기본키를 가진 테이블을 생성합니다.mysql> create table DemoTable676(    Id int NOT NULL AUTO_INCREMENT PRIMARY

  4. MySQL에서 GROUP_CONCAT()과 CONCAT()으로 열 값을 한 줄로 연결하고 모든 문자열에 'MR.' 접두사 붙이는 방법

    개요MySQL에서 CONCAT() 함수는 모든 문자열에 MR. 접두사를 붙이는 데 사용되고, GROUP_CONCAT() 함수는 여러 행의 열 값들을 한 줄로 연결하는 데 사용됩니다. 이 두 함수를 조합하면 특정 기준(예: UserId)으로 그룹화된 이름 값들을 하나의 문자열로 합치면서 각 값마다 접두사를 자동으로 추가할 수 있습니다.1단계: 예제 테이블 생성먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable799(    UserId int, &

  5. MySQL ORDER BY로 사용자 정의 필드 값 기준 정렬하기 – FIND_IN_SET() 활용법

    MySQL에서 특정 필드 값을 원하는 순서대로 정렬하려면 FIND_IN_SET() 함수를 사용하면 됩니다. 일반적인 오름차순(ASC)이나 내림차순(DESC) 정렬과 달리, 개발자가 직접 지정한 사용자 정의 순서대로 결과를 정렬할 수 있어 상태 값(status) 처리에 매우 유용합니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable677(    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, &nb

  6. MySQL에서 VARCHAR 타입으로 저장된 날짜를 기준으로 정렬하는 방법

    MySQL에서 날짜 데이터가 VARCHAR 타입의 컬럼에 문자열로 저장되어 있는 경우, 단순히 ORDER BY를 사용하면 사전순으로 정렬되어 원하는 결과를 얻을 수 없습니다. 이럴 때는 STR_TO_DATE() 함수를 활용하여 문자열을 날짜로 변환한 뒤 정렬하면 됩니다.기본 문법SELECT * FROM yourTableNameORDER BY STR_TO_DATE(yourColumnName, %M %Y) DESC;위 문법에서 %M %Y는 March 2019와 같은 형식의 날짜 문자열을 해석하기 위한 포맷 지정자입니다. DESC를 사용

  7. MySQL LIMIT와 ORDER BY로 레코드를 정렬하고 원하는 개수만 가져오는 방법

    MySQL에서 ORDER BY 절과 LIMIT 절을 함께 사용하면 테이블의 레코드를 특정 기준으로 정렬한 뒤, 그중 원하는 개수만큼만 조회할 수 있습니다. 이 글에서는 실제 예제를 통해 그 방법을 단계별로 살펴보겠습니다. 1. 예제 테이블 생성하기 먼저 데모용 테이블을 생성합니다. mysql> create table DemoTable679(FirstName varchar(100)); Query OK, 0 rows affected (0.44 sec) 2. 레코드 삽입하기 INSERT 명령을 사용해 테이블에 여러 개의 레코드를

  8. MySQL에서 중복된 열 값을 한 번만 반환하는 방법 완벽 가이드

    MySQL에서 열의 값을 중복 없이 한 번씩만 조회하고 싶을 때가 있습니다. 이럴 때 DISTINCT 키워드를 사용하면 간단하게 해결할 수 있습니다. 실제 예제를 통해 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable680(Status varchar(100)); Query OK, 0 rows affected (0.75 sec)2. 샘플 데이터 삽입하기INSERT 명령어를 사용해 의도적으로 중복된 값이 포함된 레코드를 여러 개 삽입합니다.

  9. MySQL에서 두 날짜 사이의 날짜 레코드 선택하기 – BETWEEN 키워드 완벽 가이드

    MySQL에서 특정 기간에 속하는 날짜 데이터를 조회해야 하는 경우가 자주 있습니다. 예를 들어 입학일(AdmissionDate)이 2019년 2월 1일부터 2019년 12월 1일 사이인 레코드만 추출하고 싶다면, BETWEEN 키워드를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 두 날짜 사이의 레코드를 선택하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 날짜 데이터를 저장할 테이블을 생성합니다. 여기서는 DATETIME 타입의 컬럼을 하나 가진 간단한 테이블을 만들어 보겠습니다.mysql> create

  10. MySQL에서 숫자와 문자열 연결하기: CONCAT() 함수 활용법

    ```html MySQL에서 문자열과 숫자를 하나로 합쳐야 할 때는 CONCAT() 함수를 사용하면 됩니다. CONCAT()은 여러 개의 인수를 받아 이를 하나의 문자열로 연결해 주는 함수로, 숫자 타입의 값도 자동으로 문자열로 변환하여 처리해 줍니다.예제와 함께 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable682( Name varchar(100), Age int);Query OK, 0 rows affected (0.49 sec)2

  11. MySQL 하나의 쿼리에서 NOT IN, OR, IS NULL을 함께 사용해 레코드 필터링하기

    MySQL에서 특정 값을 제외하면서 NULL 값이 포함된 레코드까지 함께 조회해야 하는 경우가 종종 있습니다. 이때 NOT IN, OR, IS NULL 조건을 하나의 쿼리에 결합하면 원하는 결과를 얻을 수 있습니다.SQL에서는 NULL과의 비교 연산이 항상 UNKNOWN으로 평가되기 때문에, 단순히 NOT IN만 사용하면 NULL 레코드가 결과에서 누락됩니다. 따라서 OR StudentName IS NULL 조건을 추가해 주어야 합니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create

  12. MySQL에서 처음 10개 레코드만 선택하는 쿼리 작성 방법

    MySQL에서 처음 10개 레코드 선택하기테이블에서 처음 10개의 레코드를 선택하려면 먼저 레코드를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬한 뒤, LIMIT 10을 사용하여 10개의 레코드만 가져오면 됩니다. 기본적인 쿼리 형태는 다음과 같습니다.select *from (select *from yourTableName ORDER BY yourColumnName ASC LIMIT 10)anyAliasName ORDER BY yourColumnName DESC;아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이

  13. MySQL에서 데이터베이스에 복제(Replication) 권한을 부여하는 방법

    MySQL 복제 권한 부여 개요MySQL에서 특정 사용자에게 복제(replication) 권한을 부여하려면 GRANT REPLICATION SLAVE 구문을 사용합니다. 이 권한은 주로 마스터-슬레이브 복제 환경을 구성할 때 슬레이브 서버가 마스터 서버에 접속하여 바이너리 로그를 읽을 수 있도록 하는 데 필수적입니다.1단계: 기존 사용자 목록 확인권한을 부여하기 전에 먼저 MySQL의 mysql.user 테이블에서 등록된 모든 사용자 이름과 호스트를 확인합니다.mysql> select user,host from mysql.us

  14. MySQL 쿼리로 오늘 날짜 기준 가장 가까운 날짜 조회하기

    개요현재 날짜가 2019-07-25라고 가정해 보겠습니다. 이 글에서는 배송일(ShippingDate) 컬럼을 포함한 테이블을 만들고, 오늘 날짜를 기준으로 가장 가까운 날짜를 조회하는 MySQL 쿼리를 단계별로 알아봅니다.1. 테이블 생성하기먼저 다음과 같이 테이블을 생성합니다.mysql> create table DemoTable667(ShippingDate datetime); Query OK, 0 rows affected (0.46 sec)2. 샘플 데이터 삽입하기insert 명령을 사용해 몇 개의 레코드를 추가합니다.my

  15. MySQL에서 날짜 형식 변환하기: yyyy-mm-ddThh:mm:ss.sssZ를 yyyy-mm-dd hh:mm:ss로 바꾸는 방법

    ISO 8601 형식(yyyy-mm-ddThh:mm:ss.sssZ)으로 저장된 날짜 데이터를 MySQL에서 일반적인 datetime 형식(yyyy-mm-dd hh:mm:ss)으로 변환해야 하는 경우가 종종 있습니다. 이 글에서는 STR_TO_DATE()와 DATE_FORMAT() 함수를 활용해 이러한 변환을 수행하는 방법을 단계별로 알아보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다. 여기서는 날짜를 varchar 타입의 문자열로 저장하는 테이블을 만들어 보겠습니다.mysql> create table De

  16. MySQL에서 NULL 값을 맨 뒤로 보내고 나머지 값은 오름차순으로 정렬하는 방법

    개요MySQL에서 데이터를 정렬할 때 기본적으로 NULL 값은 오름차순 정렬 시 가장 앞쪽에 위치하게 됩니다. 하지만 실무에서는 유효한 값들을 먼저 오름차순으로 보여주고, NULL 값은 목록 맨 뒤에 배치해야 하는 경우가 많습니다.이럴 때 ORDER BY ISNULL() 함수를 활용하면 간단하게 해결할 수 있습니다. ISNULL() 함수는 해당 값이 NULL이면 1을, NULL이 아니면 0을 반환하기 때문에 이를 정렬 기준의 첫 번째 조건으로 사용하면 NULL이 아닌 행이 먼저 출력됩니다.예제 테이블 생성먼저 예제로 사용할 테이블을

  17. MySQL에서 도메인 이름 정렬하기: SUBSTRING_INDEX() 활용법

    MySQL에서 도메인 이름을 정렬하려면 ORDER BY 절과 함께 SUBSTRING_INDEX() 함수를 사용하면 됩니다. 이 함수를 활용하면 도메인의 최상위 도메인(.com 등)과 서브도메인(www 등)을 기준으로 원하는 순서대로 데이터를 정렬할 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable670(DomainName text);Query OK, 0 rows affected (0.77 sec)2. 샘플 데이터 삽입하기INSERT 명령을 사용하여 도메

  18. MySQL에서 특정 문자로 시작하는 열만 골라 이름을 하나로 연결하는 방법

    MySQL에서 특정 문자로 시작하는 열만 골라내고 싶다면 LIKE 연산자를 사용하면 됩니다. 또한 조회한 열 이름들을 하나의 문자열로 이어 붙일 때는 GROUP_CONCAT() 함수를 활용합니다. 기본 문법은 다음과 같습니다.SELECT group_concat(COLUMN_NAME separator , ) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = yourTableName AND table_schema = yourDatabaseName AND column_name LIKE yourS

  19. MySQL에서 CASE 조건으로 ORDER BY 정렬하는 방법 (NULLIF 활용)

    MySQL에서 특정 조건에 따라 레코드를 정렬하고 싶을 때는 ORDER BY 절과 함께 NULLIF() 함수를 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 CASE 방식의 정렬까지 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable672( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), C

  20. MySQL에서 중복으로 나타나는 값과 그 개수를 조회하는 쿼리 작성법

    테이블에 저장된 데이터 중 여러 번 반복해서 나타나는 값을 찾고, 각 값이 몇 번 등장했는지 개수까지 함께 확인하고 싶다면 GROUP BY와 HAVING 절을 조합하여 사용하면 됩니다.이 글에서는 실제 예제 테이블을 만들고, 단계별로 쿼리를 실행하면서 중복 값과 그 발생 횟수를 조회하는 방법을 살펴보겠습니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable673( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Valu

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:78/229  20-컴퓨터/Page Goto:1 72 73 74 75 76 77 78 79 80 81 82 83 84