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

MySQL

  1. MySQL에서 쉼표로 구분된 열의 각 값에 따옴표를 추가하는 방법

    MySQL에서 쉼표(,)로 구분되어 저장된 문자열 데이터의 각 값을 작은따옴표()로 감싸야 하는 경우가 종종 있습니다. 예를 들어 John,Bob과 같은 값을 John,Bob 형태로 변환해야 할 때, CONCAT() 함수와 REPLACE() 함수를 조합하면 간단하게 해결할 수 있습니다.1. 테이블 생성하기먼저 데모용 테이블을 생성해 보겠습니다.mysql> create table DemoTable1407   -> (   -> Name text   -> );Qu

  2. MySQL에서 열의 NULL 또는 NOT NULL 값 확인하는 방법

    MySQL에서 특정 열의 값이 NULL인지 NOT NULL인지 확인하려면 IS NOT NULL 연산자를 사용하면 됩니다. 이 연산자는 조건식처럼 동작하며, 값이 NULL이 아니면 1(참), NULL이면 0(거짓)을 반환합니다.기본 문법SELECT yourColumnName IS NOT NULL FROM yourTableName;예제: 테이블 생성먼저 실습에 사용할 테이블을 생성해 보겠습니다.mysql> CREATE TABLE DemoTable1408 -> ( -> FirstName VARCHAR(30)

  3. MySQL에서 오류 없이 중복 varchar 값 추가하는 방법

    MySQL에서 UNIQUE 제약 조건이 설정된 varchar 컬럼에 중복 값을 삽입하면 오류가 발생합니다. 오류 없이 중복 값을 추가하려면 먼저 해당 컬럼의 유니크 인덱스를 제거해야 합니다. 예제를 통해 단계별로 살펴보겠습니다.1. 유니크 키가 있는 테이블 생성먼저 FirstName 컬럼에 UNIQUE KEY를 설정한 테이블을 생성합니다.mysql> create table DemoTable1409    -> (    -> FirstName var

  4. MySQL에서 최근 14일 이내의 날짜 데이터를 조회하는 쿼리 작성법

    MySQL에서 특정 날짜로부터 최근 14일 이내에 해당하는 레코드만 조회하고 싶다면, CURDATE() 함수와 DATE_SUB() 함수를 조합하면 간단하게 해결할 수 있습니다. 이번 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 날짜 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable1392 -> ( -> ArrivalDate date -> );Query OK, 0 rows affected (0.43 sec)2. 샘플 데이터 삽입하기

  5. MySQL에서 특정 컬럼에 'a'가 3개 이상 포함된 값 찾기 – LIKE 패턴 매칭 완벽 가이드

    MySQL LIKE 연산자로 a가 3개 이상 들어간 문자열 찾기MySQL에서 특정 문자가 여러 번 반복되는 데이터를 검색하려면 LIKE 연산자와 와일드카드(%)를 조합하면 됩니다. 예를 들어, 이름에 a가 최소 3개 이상 포함된 행을 찾고 싶다면 아래와 같은 문법을 사용합니다.기본 문법SELECT * FROM yourTableNameWHERE yourColumnName LIKE %a%a%a%;%a%a%a% 패턴은 문자열 안에 a가 세 번 이상 등장하는 모든 값을 의미합니다. 각 %는 임의의 문자열(0개 이상)을 나타냅니다.예제 테이

  6. MySQL FORMAT() 함수로 천 단위 콤마와 소수점 두 자리 숫자 형식 지정하기

    MySQL에서 천 단위 구분 기호와 소수점 두 자리로 숫자 형식 지정하기숫자 값을 천 단위마다 콤마(,)로 구분하고 소수점 이하 두 자리까지 표시하고 싶다면 MySQL의 FORMAT() 함수를 사용하면 됩니다. FORMAT() 함수는 첫 번째 인자로 형식을 지정할 숫자나 컬럼을, 두 번째 인자로 표시할 소수점 자릿수를 받습니다.실제 동작 과정을 예제를 통해 살펴보겠습니다.1. 테이블 생성하기먼저 decimal 타입의 Amount 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable1394->

  7. MySQL에서 ORDER BY GREATEST()로 여러 열의 값을 한 번에 정렬하는 방법

    MySQL에서 여러 열에 저장된 값을 비교하여 정렬하고 싶다면 ORDER BY 절과 GREATEST() 함수를 함께 사용하면 됩니다. GREATEST()는 인자로 전달된 여러 값 중 가장 큰 값을 반환하기 때문에, 각 행의 여러 열 중 최댓값을 기준으로 정렬할 수 있습니다.아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.1. 테이블 생성먼저 세 개의 정수 열을 가진 테이블을 생성합니다.mysql> create table DemoTable1395    -> ( &nbs

  8. 단일 MySQL 쿼리로 서로 다른 테이블의 NULL 값 무시하고 NOT NULL 레코드 수 조회하기

    MySQL의 COUNT() 함수는 기본적으로 NULL 값을 제외한 레코드만 집계합니다. 이 특성을 활용하면 단일 쿼리에서 여러 테이블의 NOT NULL 레코드 개수를 동시에 확인할 수 있습니다. 아래 예제를 통해 두 개의 테이블에서 NULL 값을 무시하고 각각의 유효한 레코드 수를 한 번에 조회하는 방법을 살펴보겠습니다.1. 첫 번째 테이블 생성먼저 DemoTable1이라는 이름의 테이블을 생성합니다.mysql> create table DemoTable1    -> ( &nbs

  9. MySQL에서 여러 열을 CONCAT으로 하나의 새 열에 연결하는 방법

    MySQL에서는 CONCAT() 함수를 활용하면 테이블의 여러 열 값을 손쉽게 하나의 새 열로 합칠 수 있습니다. 이 글에서는 실제 예제를 통해 Id, Name, Age 세 개의 열을 하나의 문자열로 연결하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1396-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> Name varchar(40),-> Age int->

  10. MySQL에서 VARCHAR 날짜와 현재 날짜 비교하기 – STR_TO_DATE() 완벽 가이드

    MySQL에서 날짜가 VARCHAR 타입으로 저장되어 있을 때, 이를 현재 날짜(CURDATE())와 비교하려면 STR_TO_DATE() 함수를 사용하면 됩니다. 문자열로 저장된 날짜를 실제 DATE 타입으로 변환한 후 비교 연산을 수행하는 방식입니다.기본 문법select * from yourTableName where str_to_date(yourColumnName,yourFormatSpecifier) > curdate();예제 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table

  11. MySQL에서 점수 데이터의 백분율(평균) 구하는 방법

    MySQL에서 저장된 점수(Marks) 데이터를 기반으로 백분율을 계산하는 방법을 소개합니다. 핵심 아이디어는 SUM() 함수로 점수의 총합을 구하고, COUNT(*) 함수로 레코드 수를 나누어 평균값을 얻은 뒤, CONCAT() 함수로 백분율 기호(%)를 붙여 출력하는 것입니다.1. 테이블 생성하기먼저 점수를 저장할 테이블을 생성합니다.mysql> create table DemoTable1398-> (-> Marks int-> );Query OK, 0 rows affected (0.50 sec)2. 샘플 데이

  12. MySQL에서 새 레코드를 추가하지 않고 다음 기본 키(AUTO_INCREMENT) 값 미리 확인하는 방법

    네, MySQL에서는 새 레코드를 추가하지 않고도 다음에 할당될 기본 키 값을 미리 확인할 수 있습니다. 핵심은 information_schema.tables 뷰의 auto_increment 컬럼을 활용하는 것입니다. 예제와 함께 단계별로 살펴보겠습니다.1. 테스트 테이블 생성먼저 AUTO_INCREMENT 기본 키를 가진 테이블을 생성합니다.mysql> create table DemoTable1399    -> (    -> StudentId

  13. MySQL 테이블에서 후보 키(Candidate Key)를 구현하는 방법

    후보 키(Candidate Key)란 무엇인가?각 릴레이션(테이블)은 하나 이상의 후보 키를 가질 수 있습니다. 이 중 하나가 기본 키(Primary Key)로 선택되며, 모든 후보 키는 기본 키가 될 수 있는 자격을 갖추고 있습니다. 따라서 기본 키의 후보가 되는 키들을 후보 키(Candidate Key)라고 부릅니다.MySQL에서 후보 키를 구현하려면 하나 이상의 컬럼을 UNIQUE 키로 설정하면 됩니다. 이렇게 지정된 키들은 후보 키의 역할을 하며, 해당 컬럼 조합의 중복 데이터 입력을 자동으로 차단합니다.후보 키 구현 기본

  14. MySQL에서 상위 2개 최고 점수를 찾는 쿼리 작성 방법

    MySQL에서 상위 2개 최고 점수를 찾는 방법각 그룹별로 가장 높은 점수를 구한 뒤 상위 2개의 결과만 조회하려면 집계 함수 MAX()와 GROUP BY, 그리고 ORDER BY DESC를 함께 사용하면 됩니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1383 -> ( -> Id int, -> PlayerScore int -> );Query OK, 0 rows affected (0.90 sec)테이블에 데이터 삽입하기INSER

  15. MySQL에서 단일 쿼리로 여러 행(레코드) 한 번에 삽입하는 방법

    MySQL 다중 행 INSERT 개요MySQL에서는 INSERT 문 하나만으로도 여러 개의 레코드를 동시에 테이블에 삽입할 수 있습니다. VALUES 절 뒤에 각 행의 값을 쉼표(,)로 구분하여 나열하면 되는데, 이 방식은 레코드를 하나씩 삽입하는 것보다 데이터베이스와의 통신 횟수가 줄어들어 성능 면에서 큰 이점을 가집니다.아래 예제를 통해 단일 쿼리로 여러 행을 삽입하는 전체 과정을 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1384->

  16. MySQL 단일 쿼리에서 여러 행을 조회하는 방법 – LIKE 연산자 활용 가이드

    MySQL에서 하나의 쿼리만으로 여러 개의 행(row)을 조회하려면 LIKE 연산자를 사용하면 됩니다. LIKE 연산자는 특정 패턴과 일치하는 문자열을 검색할 때 유용하며, 와일드카드 문자인 %와 함께 사용하면 원하는 조건에 맞는 여러 행을 한 번에 가져올 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1385 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Na

  17. MySQL에서 중복 값을 하이픈으로 구분해 하나로 결합하는 방법

    MySQL에서 두 개 이상의 행에 흩어져 있는 속성 값을 하나로 합치려면 GROUP_CONCAT() 함수를 사용하면 됩니다. 이때 값과 값 사이의 구분자(separator)로 하이픈(-)을 지정할 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1386-> (-> Title varchar(255),-> Name varchar(60)-> );Query OK, 0 rows affected (0.67 sec)2. 데이터 삽입하기INSER

  18. MySQL에서 뷰(VIEW)의 내용을 확인하는 방법

    MySQL에서 뷰(View)는 하나 이상의 테이블을 기반으로 만들어지는 가상 테이블입니다. 뷰에 저장된 데이터를 확인하는 방법은 일반 테이블을 조회할 때와 동일하게 SELECT 문을 사용하면 됩니다.뷰 내용을 조회하는 기본 문법뷰의 내용을 표시하는 기본 문법은 다음과 같습니다.select * from yourViewName;실습 예제1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1388-> (-> StudentId int NOT NULL AUTO_INC

  19. MySQL에서 중복 값을 포함한 여러 최댓값을 선택하는 방법

    테이블에 저장된 최댓값이 여러 행에 중복되어 있을 때, 해당 값들을 모두 한 번에 조회하고 싶다면 JOIN 개념을 활용하면 됩니다. 이 글에서는 서브쿼리로 최댓값을 구한 뒤 원본 테이블과 조인하여 중복된 최댓값 행까지 모두 가져오는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1389-> (-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> StudentMarks in

  20. MySQL에서 COLLATE로 정확한(대소문자 구분) 문자열 값 검색하는 방법

    MySQL에서 문자열을 비교할 때 기본 콜레이션(collation)은 대소문자를 구분하지 않습니다. 예를 들어 utf8mb4_general_ci나 utf8_general_ci처럼 이름 끝에 _ci(case insensitive)가 붙은 콜레이션은 MySQL과 mysql을 같은 값으로 취급합니다.이럴 때 COLLATE 절과 바이너리 콜레이션인 utf8_bin을 함께 사용하면 대소문자까지 완전히 일치하는 정확한 문자열만 조회할 수 있습니다. 실제 예제를 통해 확인해 보겠습니다.1. 테이블 생성먼저 예제로 사용할 테이블을 생성합니다.my

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:46/229  20-컴퓨터/Page Goto:1 40 41 42 43 44 45 46 47 48 49 50 51 52