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

MySQL

  1. MySQL에서 CASE WHEN으로 테이블 존재 여부를 부울 결과로 확인하는 방법

    MySQL에서 특정 테이블의 존재 여부를 확인하려면 INFORMATION_SCHEMA.TABLES를 활용하면 됩니다. 이 시스템 뷰에는 데이터베이스 내 모든 테이블에 대한 메타 정보가 저장되어 있어, CASE WHEN 구문과 함께 사용하면 테이블이 존재하는지 여부를 TRUE/FALSE 형태의 결과로 손쉽게 얻을 수 있습니다.1. 예제 테이블 생성하기먼저 실습용 테이블을 생성합니다.mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20)

  2. MySQL에서 쉼표로 구분된 숫자 문자열의 합계를 계산하는 방법

    MySQL에서는 사용자 정의 함수(Stored Function)를 만들어 쉼표로 구분된 숫자 문자열의 합계를 손쉽게 계산할 수 있습니다. 이번 글에서는 실제 예제를 통해 그 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 테스트에 사용할 테이블을 생성합니다. 여기서는 varchar 타입의 컬럼을 만들고, 이 컬럼에 숫자들을 문자열 형태로 저장할 것입니다.mysql> create table DemoTable    -> (    -> List

  3. MySQL로 쉼표로 구분된 텍스트 데이터에서 정수 찾는 방법

    varchar 타입 컬럼에 쉼표로 구분된 숫자 값들이 저장되어 있을 때, 그 안에서 특정 정수를 포함하는 행을 찾아야 하는 경우가 있습니다. MySQL에서는 LIKE 연산자를 사용하면 간단하게 해결할 수 있습니다. 아래 예제를 통해 단계별로 살펴보겠습니다.테이블 생성하기먼저 예제에 사용할 데모 테이블을 생성합니다.mysql> create table DemoTable-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> DoubleValue varchar(20)-> )

  4. MySQL 오류 1064(42000): ZEROFILL 열의 SQL 구문 오류 원인과 해결 방법

    오류 1064(42000)란 무엇인가? MySQL에서 ZEROFILL 속성을 잘못된 순서로 작성하면 다음과 같은 구문 오류가 발생합니다. mysql> create table DemoTable -> ( -> StudentCode int(10) NOT NULL ZEROFILL AUTO_INCREMENT PRIMARY KEY -> ); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that correspond

  5. MySQL에서 ORDER BY FIELD로 특정 값을 먼저 정렬한 뒤 ID 기준으로 정렬하는 방법

    ORDER BY FIELD와 ID 정렬을 함께 사용하기MySQL에서 특정 값을 가장 앞에 배치하고, 나머지 행은 ID를 기준으로 내림차순 정렬하고 싶다면 ORDER BY FIELD() 함수를 활용하면 됩니다. FIELD() 함수는 지정한 값이 목록에서 몇 번째 위치에 있는지를 반환하므로, 이를 정렬 조건으로 사용하면 원하는 순서대로 결과를 얻을 수 있습니다.먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable    -> (  &nb

  6. MySQL에서 SELECT *를 사용해 현재 날짜와 일치하는 레코드 조회하기

    MySQL에서 현재 날짜를 기준으로 레코드를 조회하려면 CURDATE() 함수를 사용하면 됩니다. 만약 날짜가 문자열 형태로 저장되어 있다면, STR_TO_DATE() 함수로 해당 값을 날짜 형식으로 변환한 뒤 현재 날짜와 비교할 수 있습니다.기본 문법select *from yourTableName where str_to_date(yourColumnName,yourFormatSpecifier)=curdate();예를 들어, 현재 날짜가 2019년 10월 27일이라고 가정해 보겠습니다.1. 테이블 생성먼저 테이블을 생성합니다.mysq

  7. MySQL TIMESTAMPDIFF 함수로 두 날짜의 개월 수 차이 계산하기

    MySQL에서 두 날짜 사이의 차이를 개월(월) 단위로 계산해야 하는 경우가 자주 있습니다. 회원 가입일부터 현재까지의 기간, 상품 유효 기간 등을 구할 때 특히 유용한데, 이때 TIMESTAMPDIFF() 함수와 ABS() 함수를 함께 사용하면 손쉽게 처리할 수 있습니다. 지금부터 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성먼저 DATE 타입의 컬럼 두 개를 가진 테이블을 생성합니다.mysql> create table DemoTable -> ( -> Date1 date, -> Date

  8. MySQL에서 두 열의 값 조합별 발생 횟수 구하는 방법

    MySQL에서 GROUP BY 절과 GREATEST(), LEAST() 함수를 함께 사용하면 두 열에 걸쳐 나타나는 값의 발생 횟수를 손쉽게 집계할 수 있습니다. 이 방법은 열의 순서와 관계없이 동일한 값 쌍을 하나의 그룹으로 묶어 처리한다는 점이 핵심입니다.1. 샘플 테이블 생성먼저 예제로 사용할 테이블을 생성합니다.mysql> create table DemoTable-> (-> Name1 varchar(20),-> Name2 varchar(20)-> );Query OK, 0 rows affected (

  9. MySQL에서 문자열로부터 날짜를 추출하는 방법 – SUBSTRING_INDEX() 완벽 가이드

    MySQL에서 문자열로부터 날짜를 추출하는 방법MySQL에서 문자열 안에 포함된 날짜를 추출하려면 SUBSTRING_INDEX() 함수를 활용하면 됩니다. 이 함수는 지정한 구분자(delimiter)를 기준으로 문자열을 분리해 원하는 부분만 반환해 주기 때문에, 문장 끝에 붙어 있는 날짜 정보를 별도의 정규식 없이도 손쉽게 분리할 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable -> ( -> Title text -> );Query

  10. MySQL에서 SELECT 문을 활용해 레코드 삽입하기: INSERT INTO SELECT 활용법

    MySQL에서 SELECT 문의 결과를 다른 테이블에 그대로 삽입하고 싶다면, INSERT INTO ... SELECT 구문을 사용하면 됩니다. 이 방식은 기존 테이블의 데이터를 조건에 따라 필터링하면서 새로운 테이블로 복사할 때 매우 유용합니다.이번 글에서는 실제 예제를 통해 두 개의 테이블을 만들고, SELECT 결과를 조건과 함께 다른 테이블에 삽입하는 과정을 단계별로 살펴보겠습니다.1단계: 첫 번째 테이블 생성하기먼저 예제에 사용할 첫 번째 테이블을 생성합니다. 아래 쿼리는 Id와 FirstName 두 컬럼을 가진 DemoT

  11. MySQL에서 레코드 목록 내 특정 값을 검색하고 교체하는 방법

    MySQL에서 하나의 필드에 여러 값이 콤마(,)로 구분되어 저장된 경우, 그중 특정 값을 찾아 다른 값으로 교체해야 할 때가 있습니다. 이 글에서는 SUBSTRING_INDEX()와 CONCAT() 함수를 활용해 레코드 목록 안에서 원하는 값을 검색하고 새로운 값으로 대체하는 방법을 단계별로 알아보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable-> (-> ListOfName text-> );Query OK, 0 rows affected

  12. MySQL에서 큰따옴표가 포함된 문자열을 레코드로 삽입하는 방법

    MySQL에서 큰따옴표(")가 포함된 문자열을 레코드로 삽입하려면 백슬래시(\)를 이스케이프 문자로 사용해야 합니다. 아래 구문과 같이 큰따옴표 앞에 백슬래시를 붙여주면 됩니다.기본 구문insert into yourTableName values("yourValue");실습 예제1단계: 테이블 생성먼저 다음과 같이 테스트용 테이블을 생성합니다.mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK

  13. MySQL REGEXP로 파이프(|) 구분 열에서 일치하는 행 찾는 방법

    파이프(|) 기호로 구분된 여러 값이 하나의 열에 저장되어 있을 때, 특정 값과 일치하는 행을 찾아야 하는 경우가 있습니다. 이럴 때 MySQL의 REGEXP(정규 표현식) 연산자를 활용하면 간단하게 해결할 수 있습니다. 아래 예제와 함께 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable -> ( -> Value varchar(60) -> );Query OK, 0 rows affected (0.48 sec)2.

  14. MySQL에서 SUM() 함수로 값이 0인 행도 표시하는 방법

    MySQL에서 값이 0인 행 표시하기테이블에 존재하지 않는 상태값의 개수를 조회할 때, 해당 데이터가 없더라도 결과에 0으로 표시하고 싶은 경우가 있습니다. 이럴 때는 조건식과 함께 집계 함수 SUM()을 사용하면 됩니다.MySQL에서는 boolean 표현식이 참일 경우 1, 거짓일 경우 0을 반환하므로, SUM() 함수 안에 조건식을 넣으면 해당 조건을 만족하는 행의 개수를 손쉽게 계산할 수 있습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable &nbs

  15. MySQL에서 날짜에 하루 빼는 방법 – DATE_SUB() 함수 완벽 가이드

    MySQL에서 특정 날짜에서 하루를 빼고 싶다면 DATE_SUB() 함수를 사용하면 됩니다. 이 함수는 지정한 날짜에서 원하는 시간 간격(interval)만큼을 빼주는 아주 유용한 날짜 계산 함수입니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 만들어 보겠습니다. 입학일(AdmissionDate)을 저장하는 timestamp 타입의 컬럼을 가진 테이블입니다.mysql> create table DemoTable -> ( -> AdmissionDate timestamp -> );Query

  16. MySQL에서 FIELD() 함수로 사용자 지정 정렬 순서 구현하는 방법

    MySQL에서 기본적인 오름차순(ASC)이나 내림차순(DESC) 정렬 대신 원하는 순서대로 데이터를 정렬해야 하는 경우가 종종 있습니다. 예를 들어 직급이나 상태 값처럼 비즈니스 로직에 따라 특정 순서를 부여해야 할 때 유용합니다. 이럴 때 ORDER BY 절과 FIELD() 함수를 함께 사용하면 손쉽게 사용자 지정 정렬을 구현할 수 있습니다.이번 글에서는 실제 예제를 통해 FIELD() 함수를 활용한 커스텀 정렬 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 직책(Directation) 정보를 저장할 테이블을 생성합니다

  17. MySQL 쿼리에서 여러 개의 OR 조건 대신 IN()을 사용해야 하는 이유

    MySQL에서 여러 개의 OR 조건 대신 IN() 활용하기MySQL에서 특정 여러 값을 조건으로 조회할 때, 여러 개의 OR 문을 나열하는 방식보다 IN() 연산자를 사용하는 것이 훨씬 효율적입니다. IN()은 코드가 간결하고 가독성이 뛰어나며, MySQL 옵티마이저가 내부적으로 더 효율적으로 처리할 수 있어 성능 면에서도 유리합니다.실제 예제를 통해 IN()의 사용법을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable-> (-> Id i

  18. MySQL에서 두 번 이상 존재하는 값만 조회하는 방법 – GROUP BY HAVING과 COUNT(*) 활용

    MySQL에서 특정 값이 테이블에 두 번 이상 중복되어 존재하는 경우만 조회하고 싶다면, GROUP BY 절과 HAVING 절을 COUNT(*) 함수와 함께 사용하면 됩니다.HAVING은 집계 함수의 결과를 필터링할 때 사용하는 절로, 일반적인 조건을 걸 때 쓰는 WHERE와 달리 그룹화된 결과에 조건을 적용할 수 있다는 점이 핵심입니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable-> (-> Value int-> );Query OK, 0

  19. MySQL CASE 문으로 단일 쿼리에서 여러 상품 가격 한 번에 인상하기

    MySQL 단일 쿼리로 여러 상품 가격 일괄 인상하기여러 상품의 가격을 서로 다른 비율로 한 번에 인상하고 싶다면 MySQL의 CASE 문을 활용하면 됩니다. CASE 문은 조건별로 다른 값을 반환할 수 있어서, 하나의 UPDATE 쿼리 안에서 상품마다 다른 인상률을 적용하는 데 매우 유용합니다.아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 상품명과 가격을 저장할 데모 테이블을 만듭니다.mysql> create table DemoTable -> ( -> ProductName v

  20. MySQL에서 날짜 데이터를 저장하는 임시 테이블 만드는 방법

    MySQL에서 날짜 데이터를 저장하는 임시 테이블을 만들려면 CREATE TEMPORARY TABLE 문을 사용하면 됩니다. 임시 테이블은 일반 테이블과 달리 현재 세션 동안에만 존재하며, 세션이 종료되면 자동으로 삭제되기 때문에 중간 계산 결과나 임시 데이터를 다룰 때 매우 유용합니다.기본 문법날짜 타입의 컬럼을 가진 임시 테이블을 생성하는 기본 문법은 다음과 같습니다.CREATE TEMPORARY TABLE yourTableName(    yourColumnName DATETIME);임시 테이

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:34/229  20-컴퓨터/Page Goto:1 28 29 30 31 32 33 34 35 36 37 38 39 40