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

MySQL

  1. MySQL ENUM 컬럼에서 'Active' 상태 레코드 조회하는 방법

    MySQL에서 ENUM 타입으로 정의된 상태(status) 컬럼이 있을 때, 특정 값(예: Active)을 가진 레코드만 조회해야 하는 경우가 자주 있습니다. 이번 글에서는 ENUM 컬럼이 설정된 테이블을 만들고, WHERE 절과 GROUP BY를 활용해 Active 상태의 레코드를 학생 ID별로 선택하는 방법을 단계별로 알아보겠습니다. 1. ENUM 타입으로 테이블 생성하기 먼저 status 컬럼을 enum(Active,Inactive)로 선언하여 테이블을 생성합니다. ENUM은 미리 정의한 값 목록 중 하나만 저장할 수 있는 편

  2. MySQL에서 양수 값을 가진 행에 대해 TRUE를 반환하는 쿼리 작성 방법

    양수인 행에 대해서는 TRUE를, 음수인 행에 대해서는 FALSE를 반환하고 싶다면 MySQL의 IF() 함수를 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 그 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2038    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,   

  3. MySQL에서 ORDER BY CASE를 활용해 레코드를 ASC 순서로 정렬하는 방법

    MySQL에서 조건별로 레코드를 ASC 순서로 표시하기 레코드 목록을 원하는 순서대로 표시하려면 조건을 설정한 후 ORDER BY 절을 사용해야 합니다. 이때 ORDER BY CASE 문을 함께 활용하면 특정 조건에 맞는 레코드를 우선순위에 따라 정렬할 수 있습니다. 1단계: 테이블 생성 먼저 예제에 사용할 테이블을 생성합니다. mysql> create table DemoTable2039 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected

  4. MySQL에서 VARCHAR 문자열의 하이픈 뒤 숫자 제거하기: SUBSTRING_INDEX() 활용법

    개요VARCHAR 타입으로 저장된 문자열 데이터에서 하이픈(-) 뒤에 붙어 있는 숫자를 제거하고 싶다면 MySQL의 SUBSTRING_INDEX() 함수를 사용하면 됩니다. 이 함수는 지정한 구분자를 기준으로 문자열을 나누고, 원하는 위치의 부분 문자열을 반환해 줍니다.아래에서 예제 테이블을 만들고, 실제로 하이픈 뒤의 숫자를 제거하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2040    -&g

  5. 정적 SQL과 동적 SQL의 차이점 완벽 비교

    데이터베이스를 다루다 보면 SQL 문장을 미리 고정해서 작성하는 방식과 실행 시점에 동적으로 생성하는 방식, 두 가지로 나눌 수 있습니다. 각각 정적 SQL(Static SQL)과 동적 SQL(Dynamic SQL)이라고 부르며, 성능·보안·유연성 측면에서 뚜렷한 차이를 보입니다. 이 글에서는 두 방식의 개념과 핵심 차이점을 정리해 드립니다. 정적 SQL(Static SQL)이란? 정적 SQL은 쿼리 문장이 고정되어 있어 애플리케이션 코드에 직접 하드코딩할 수 있는 SQL을 의미합니다. 쿼리 구조가 사전에 확정되어 있기 때문에 컴

  6. MySQL REGEXP로 문자열·숫자·특수 문자가 섞인 열 값 조건부 업데이트하기

    문자열, 숫자, 특수 문자가 혼합된 열 값 중에서 숫자로만 이루어진 값만 골라 업데이트하려면 UPDATE 명령어와 REGEXP 연산자를 함께 사용하면 됩니다. 아래 예제를 통해 전체 과정을 단계별로 살펴보겠습니다. 1. 테이블 생성 먼저 예제에 사용할 테이블을 생성합니다. mysql> create table DemoTable2023     -> (     -> StreetNumber varchar(100)    &nbs

  7. MySQL GROUP_CONCAT()로 여러 행의 데이터를 하나의 필드로 합치는 방법

    MySQL에서 여러 행에 흩어져 있는 값들을 하나의 필드(단일 문자열)로 묶어서 반환해야 하는 경우가 자주 있습니다. 예를 들어 과목별로 수강 학생 목록을 한 줄로 표시하고 싶을 때 유용한데요, 이럴 때 사용하는 것이 바로 GROUP_CONCAT() 함수입니다.1. 테이블 생성하기먼저 실습에 사용할 테이블을 생성하겠습니다.mysql> create table DemoTable2024 -> ( -> SubjectName varchar(20), -> StudentName varchar(20)

  8. MySQL에서 URL 레코드의 일부를 찾아 바꾸는 방법

    MySQL에서 URL과 같은 문자열 데이터의 특정 부분을 찾아 다른 값으로 교체해야 하는 경우가 자주 있습니다. 예를 들어 http=//처럼 잘못 저장된 URL을 https://로 일괄 수정하는 상황이 그렇습니다.이럴 때 가장 간단하고 효과적인 방법은 MySQL의 REPLACE() 함수를 사용하는 것입니다. REPLACE() 함수는 지정한 문자열에서 찾고자 하는 부분을 새로운 문자열로 대체해 줍니다.1. 테이블 생성하기먼저 URL을 저장할 테이블을 생성합니다.mysql> create table DemoTable2025 -

  9. MySQL에서 INSERT 실행 중 VARCHAR 날짜/시간 값에 분을 더하는 방법

    MySQL에서 INSERT 시 VARCHAR 날짜/시간 값에 분 추가하기네, 가능합니다. MySQL에서는 테이블에 데이터를 삽입(INSERT)하는 과정에서 VARCHAR 형식으로 저장된 날짜/시간 문자열에 원하는 만큼 분(minute)을 더할 수 있습니다.핵심은 두 가지 함수를 조합하는 것입니다. STR_TO_DATE() 함수로 VARCHAR 문자열을 날짜/시간 형식으로 변환한 뒤, DATE_ADD() 함수에 INTERVAL 옵션을 사용해 분을 더하면 됩니다.1. 테이블 생성먼저 VARCHAR 타입의 날짜/시간 값을 저장할 컬럼을

  10. MySQL에서 사용자 정의 변수를 활용해 UPDATE 쿼리로 값 순차적으로 업데이트하는 방법

    MySQL에서는 사용자 정의 변수(User-Defined Variable)를 활용하면 UPDATE 문 실행 시 각 행마다 값을 동적으로 계산하여 순차적으로 변경할 수 있습니다. 이번 글에서는 @uId 같은 사용자 정의 변수를 선언하고, 이를 이용해 테이블의 여러 행을 한 번에 증가시키는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2027-> (-> UserId int-> );Query OK, 0 rows affec

  11. MySQL 저장 프로시저에서 DELIMITER(구분자)를 올바르게 사용해 값을 삽입하는 방법

    MySQL에서 저장 프로시저(Stored Procedure)를 작성할 때는 DELIMITER 설정을 올바르게 처리하는 것이 중요합니다. MySQL의 기본 문장 종결 기호는 세미콜론(;)인데, 저장 프로시저 본문 안에는 여러 개의 SQL 문이 각각 세미콜론으로 끝나기 때문에, 프로시저 전체를 하나의 단위로 인식하도록 임시로 구분자를 변경해 주어야 합니다.아래 예제를 통해 테이블 생성부터 저장 프로시저 작성, 값 삽입까지 전체 과정을 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create

  12. MySQL에서 특정 셀의 내용을 업데이트하는 방법

    MySQL에서 테이블의 특정 셀(특정 행의 특정 컬럼 값)을 수정하려면 UPDATE 문과 WHERE 절을 함께 사용합니다. WHERE 절로 대상 행을 정확히 지정하지 않으면 테이블의 모든 행이 변경될 수 있으므로 주의해야 합니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2029-> (-> Id int,-> FirstName varchar(20),-> LastName varchar(20)-> );Query OK, 0 rows affe

  13. MySQL에서 VARCHAR 컬럼의 최댓값 구하는 방법

    MySQL VARCHAR 컬럼에서 최댓값 찾기컬럼의 데이터 타입이 VARCHAR인 경우에는 단순히 MAX() 함수만 사용하면 문자열 기준으로 비교되어 잘못된 결과가 나올 수 있습니다. 따라서 최댓값을 정확하게 구하려면 MAX() 함수와 CAST() 함수를 함께 사용해야 합니다.먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable2030 -> ( -> Value varchar(20) -> );Query OK, 0 rows affected (0.44 sec)테이

  14. MySQL에서 바이트 값을 메가바이트(MB)로 변환하는 방법

    MySQL에서 저장된 바이트 값을 메가바이트(MB) 단위로 변환해야 하는 경우가 종종 있습니다. 이 글에서는 간단한 나눗셈 연산을 통해 바이트를 MB로 손쉽게 계산하는 방법을 알아보겠습니다.1. 테이블 생성하기먼저 BIGINT 타입의 컬럼을 가진 테이블을 생성합니다. BIGINT는 8바이트 부호 있는 정수를 저장할 수 있어, 큰 바이트 값도 문제없이 처리할 수 있습니다.mysql> create table DemoTable2031    -> (    -

  15. MySQL에서 테이블 존재 여부를 확인하는 방법

    MySQL에서 테이블 존재 여부 확인하기MySQL에서 특정 테이블이 데이터베이스에 존재하는지 확인하려면 INFORMATION_SCHEMA.TABLES를 활용하는 것이 가장 확실한 방법입니다. INFORMATION_SCHEMA는 MySQL 서버 내의 모든 데이터베이스, 테이블, 컬럼 등의 메타데이터를 담고 있는 시스템 스키마로, 이를 조회하면 테이블의 존재 여부를 손쉽게 파악할 수 있습니다.기본 문법select table_name from information_schema.tables where table_schema=database

  16. MySQL에서 레코드 삽입 시 DATE_FORMAT()으로 날짜 형식 지정하기

    MySQL에서 레코드를 삽입하면서 날짜 형식을 지정하고 싶다면, INSERT 문 안에서 DATE_FORMAT() 함수를 활용하면 됩니다. 이 함수는 원하는 패턴에 따라 날짜를 문자열로 변환해 주기 때문에, 저장 시점부터 일관된 형식의 데이터를 유지할 수 있습니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 만들어 보겠습니다. 여기서는 배송일(ShippingDate)을 저장하기 위해 varchar 타입의 컬럼 하나를 가진 간단한 테이블을 생성합니다.mysql> create table DemoTable2012 &nb

  17. MySQL 사용자 정의 변수(@변수)에 SELECT 결과 설정하는 방법

    개요MySQL에서는 @ 기호를 사용해 사용자 정의 변수를 만들 수 있으며, 이 변수에 SELECT 쿼리의 결과값을 저장하고 활용할 수 있습니다. 이번 글에서는 테이블을 생성하고 데이터를 삽입한 뒤, 사용자 정의 변수에 SELECT 결과를 설정하여 활용하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2013 -> ( -> Name varchar(20) -> ); Query OK, 0 rows a

  18. MySQL 단일 쿼리에서 모든 열 이름에 별칭(Alias) 설정하는 방법

    MySQL 열 이름에 별칭(Alias) 설정하기MySQL에서 열(column) 이름에 별칭(alias)을 설정하면 조회 결과의 헤더를 원하는 이름으로 바꿔 표시할 수 있습니다. 별칭 설정에 사용되는 기본 문법은 다음과 같습니다.select yourColumnName1 anyAliasName1,yourColumnName2 anyAliasName2 from yourTableName anyAliasName;각 열 이름 뒤에 공백으로 구분해 새로운 이름을 작성하면 되고, 필요하다면 테이블 자체에도 별칭을 지정할 수 있습니다. 참고로 A

  19. MySQL에서 AND와 OR 연산자를 조합한 단일 쿼리로 특정 레코드 조회하기

    개요MySQL에서는 하나의 쿼리 안에 AND 연산자와 OR 연산자를 함께 사용하여 여러 조건을 결합할 수 있습니다. 이 글에서는 실제 예제를 통해 두 연산자를 조합하여 특정 레코드를 조회하는 방법을 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable2015-> (-> StudentId int,-> StudentName varchar(20),-> StudentCountryName varchar(20)-> );Query OK, 0

  20. MySQL에서 동일한 ID를 가진 레코드를 특수 문자로 구분하여 하나의 행으로 연결하는 쿼리

    MySQL에서 같은 ID를 가진 여러 개의 레코드를 하나의 행으로 합치고 싶을 때가 있습니다. 이럴 때 CONCAT_WS() 함수와 GROUP_CONCAT() 함수를 함께 사용하면 손쉽게 해결할 수 있습니다.CONCAT_WS()는 지정한 구분자를 기준으로 여러 문자열을 연결하고, GROUP_CONCAT()은 그룹별로 결과 값을 하나의 문자열로 묶어 줍니다. 두 함수를 조합하면 ID별로 레코드를 그룹화하면서 원하는 특수 문자로 구분된 형태로 출력할 수 있습니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다.mysql

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:14/229  20-컴퓨터/Page Goto:1 8 9 10 11 12 13 14 15 16 17 18 19 20