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

MySQL

  1. MySQL에서 NOT IN 연산자로 유지할 레코드만 남기고 나머지 레코드 삭제하기

    NOT IN을 활용한 조건부 레코드 삭제 방법MySQL에서 특정 레코드 몇 개만 남기고 나머지를 모두 삭제해야 하는 경우가 종종 있습니다. 이럴 때 NOT IN 연산자를 사용하면 유지하고 싶은 값만 지정하여 나머지 레코드를 한 번에 간편하게 삭제할 수 있습니다.이번 글에서는 예제 테이블을 만들고, NOT IN 연산자를 활용해 원하는 레코드만 남기는 과정을 단계별로 살펴보겠습니다.1단계: 테이블 생성하기먼저 아래와 같이 예제용 테이블을 생성합니다.mysql> create table DemoTable ( FirstName

  2. MySQL에서 테이블 이름에 밑줄(_)을 사용할 수 있나요?

    네, 가능합니다. 테이블 이름 주위를 백틱(`)으로 감싸면 밑줄(_)이 포함된 테이블 이름도 문제없이 사용할 수 있습니다. 다음은 기본적인 문법입니다.INSERT INTO `yourTableName` values(yourValue1,.......N);테이블 생성하기먼저 밑줄이 포함된 이름으로 테이블을 생성해 보겠습니다.mysql> create table `DemoTable_1` (     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,   &n

  3. MySQL에서 VARCHAR 형식 날짜를 다른 형식으로 변환하는 방법

    MySQL에서 날짜 데이터가 VARCHAR(문자열) 형식으로 저장되어 있는 경우가 종종 있습니다. 이러한 날짜를 원하는 형식으로 변환하고 싶다면 UPDATE 명령과 함께 STR_TO_DATE() 함수를 사용하면 됩니다.STR_TO_DATE() 기본 문법update yourTableName set yourColumnName=str_to_date(yourColumnName,%m/%d/%Y);위 문법에서 %m/%d/%Y는 입력되는 문자열의 현재 형식을 나타냅니다. 즉, 월/일/연도 순서로 되어 있는 날짜 문자열을 해석하여 MySQL이 인

  4. MySQL에서 테이블 열의 0과 1 개수를 세어 두 개의 열로 표시하는 방법

    테이블의 한 열에 저장된 0과 1의 개수를 각각 계산하여 두 개의 열로 나누어 표시하려면 SUM() 집계 함수를 사용하면 됩니다. MySQL에서는 조건식이 참이면 1, 거짓이면 0을 반환하기 때문에, SUM() 함수 내부에 비교 조건을 넣으면 해당 조건을 만족하는 행의 개수를 손쉽게 집계할 수 있습니다.예제 테이블 생성먼저 데모용 테이블을 생성합니다 −mysql> create table DemoTable (     isMarried tinyint(1) ); Query OK, 0 rows af

  5. MySQL에서 초 단위로 시간을 계산하는 방법 – TIME_TO_SEC와 SEC_TO_TIME 활용

    MySQL에서 초를 기준으로 시간 계산하기MySQL에서는 TIME_TO_SEC() 함수와 SEC_TO_TIME() 함수를 조합하면 여러 시간(TIME) 값을 초 단위로 변환한 뒤 합산하고, 그 결과를 다시 시:분:초 형식으로 손쉽게 계산할 수 있습니다.1. 테이블 생성먼저 TIME 타입의 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable(    Logouttime time);Query OK, 0 rows affected (0.62 sec)2. 데이터 삽입i

  6. MySQL에서 JSON_OBJECTAGG()를 활용해 레코드를 키-값 쌍으로 표시하는 방법

    MySQL에서 여러 레코드를 하나의 키-값(key-value) 쌍 형태로 묶어서 조회하고 싶다면 JSON_OBJECTAGG() 함수를 사용하면 됩니다. 이 함수는 지정한 두 개의 컬럼을 각각 키와 값으로 삼아, GROUP BY로 그룹화된 결과를 JSON 객체 형태로 집계해 줍니다.실제 동작 과정을 예제와 함께 단계별로 살펴보겠습니다.1. 샘플 테이블 생성먼저 실습에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable ( Id int, FirstName varchar(100),

  7. MySQL에서 두 개의 정확한 값을 가진 레코드를 선택하는 쿼리 작성법

    특정 조건에 해당하는 두 개의 정확한 값을 가진 레코드를 조회하려면 GROUP BY 절과 HAVING 절을 함께 사용하면 됩니다. 이 방법은 여러 행에 걸쳐 조건을 검증해야 할 때 특히 유용합니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int ); Query OK, 0 rows affected (0.52 sec)2. 샘플 데이터 삽입하기INSERT

  8. MySQL SUM 함수로 소수(DECIMAL) 값 합계 구하기

    MySQL에서 SUM 함수는 숫자 컬럼의 전체 합계를 계산할 때 사용하는 대표적인 집계 함수입니다. 이 글에서는 DECIMAL 타입의 소수 값을 저장한 테이블을 만들고, SUM 함수로 합계를 구하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 소수 값을 저장할 테이블을 생성합니다. 여기서는 DECIMAL(7,2) 타입을 사용했는데, 이는 전체 7자리 중 소수점 이하 2자리까지 저장할 수 있음을 의미합니다.mysql> create table DemoTable ( Money DECIMAL(7,2) ); Query

  9. MySQL 테이블 생성 시 예약 키워드 'Key' 사용하는 방법

    MySQL에서는 Key가 예약 키워드(reserved keyword)로 지정되어 있어, 컬럼 이름으로 그대로 사용하면 오류가 발생합니다. 이를 해결하려면 백틱(`) 기호를 활용해야 합니다. 백틱으로 컬럼 이름을 감싸주면 예약 키워드라도 정상적으로 사용할 수 있습니다.이번 예제에서는 key라는 이름의 컬럼을 만들어 보겠습니다. 이 컬럼 이름은 반드시 백틱 기호로 감싸야 합니다.1. 테이블 생성하기먼저 다음과 같이 테이블을 생성합니다.mysql> create table DemoTable ( `Key` int ); Query

  10. MySQL 오류 1064(42000) 해결 방법 – varchar 크기 미지정으로 인한 문제

    오류 1064(42000)는 언제 발생할까요?MySQL에서 테이블을 생성할 때 varchar 데이터 타입에 크기를 지정하지 않으면 오류 1064(42000)가 발생합니다. varchar는 반드시 최대 길이를 명시해야 하는 가변 길이 문자열 타입이기 때문입니다.먼저 오류가 발생하는 상황을 살펴보겠습니다. 아래와 같이 크기 없이 varchar 컬럼을 선언하여 테이블을 생성하면 어떻게 되는지 확인해 보세요.mysql> create table DemoTable(   Id int NOT NULL AUTO_INCREME

  11. MySQL에서 두 열의 조합을 UNIQUE로 만드는 방법 완벽 정리

    MySQL에서 두 개 이상의 열을 하나의 그룹으로 묶어 고유한 값 조합을 강제하고 싶다면 ALTER TABLE 명령어와 UNIQUE 제약 조건을 함께 사용하면 됩니다. 복합 유니크 키(composite unique key)라고도 불리는 이 기능은, 예를 들어 이름 + 전화번호처럼 각각은 중복될 수 있지만 두 값의 조합 자체는 중복되면 안 되는 경우에 매우 유용합니다.기본 문법ALTER TABLE yourTableName ADD UNIQUE yourUniqueName(yourColumnName1, yourColumnName2, ...

  12. MySQL에서 NULL 열 채우기와 값 설정 방법 완벽 가이드

    MySQL에서 NULL 열을 값으로 채우는 방법MySQL 테이블에서 특정 열이 NULL로 비어 있을 때, 이를 원하는 값이나 계산 결과로 채워야 하는 경우가 자주 발생합니다. 이럴 때는 IS NULL 조건을 활용하면 간단하게 해결할 수 있습니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( ProductPrice int, ProductQuantity int, TotalAmount int );

  13. MySQL 테이블에서 'Year'를 열(컬럼) 이름으로 사용할 수 있을까?

    결론부터 말하자면, 가능합니다. MySQL에서 YEAR는 예약어(reserved word)로 등록되어 있지 않기 때문에 테이블의 열 이름으로 자유롭게 사용할 수 있습니다.다만 주의할 점이 있다면, YEAR는 MySQL에서 날짜 관련 데이터 타입으로도 존재하기 때문에 쿼리 작성 시 혼동을 줄 수 있습니다. 이런 경우 백틱(`)으로 감싸주면 더욱 안전하게 사용할 수 있습니다.1. 테이블 생성하기먼저 Year라는 열을 가진 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Year int )

  14. MySQL RENAME TABLE 명령어로 테이블 이름 변경하는 방법

    MySQL에서 테이블 이름 변경하기MySQL에서 기존 테이블의 이름을 변경하려면 RENAME TABLE 명령어를 사용하면 됩니다. 데이터는 그대로 유지된 채 테이블 이름만 바뀌기 때문에 매우 안전하고 빠른 방법입니다.기본 문법RENAME TABLE 이전_테이블명 TO 새_테이블명;1단계: 예제 테이블 생성먼저 실습에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varcha

  15. MySQL 테이블에 날짜 레코드 삽입 시 INTERVAL 키워드 활용 방법

    네, MySQL에서는 데이터 레코드를 삽입하는 과정에서 INTERVAL 키워드를 충분히 사용할 수 있습니다. DATE_ADD() 함수와 함께 활용하면 기준 날짜·시간에서 특정 간격만큼 더한 값을 손쉽게 계산하여 저장할 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( ArrivalTime datetime ); Query OK, 0 rows affected (0.52 sec)INTERVAL 키워드로 날짜 레코드 삽입하기이제 INSERT 명령문으로 레코드를

  16. MySQL에서 열의 'a'와 'b' 값을 서로 교환(스왑)하는 방법 – CASE 문 활용하기

    MySQL에서 특정 열에 저장된 a 값을 b로, b 값을 a로 한 번에 바꾸고 싶다면 CASE 문을 사용하면 간단하게 해결할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, UPDATE 쿼리와 CASE 문을 조합해 두 값을 손쉽게 스왑하는 과정을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 char(1) 타입의 Value 컬럼 하나만 가진 테이블을 생성합니다.mysql> create table DemoTable ( Value char(1) ); Query OK, 0 rows affected (1.21 sec)2

  17. MySQL UNION으로 두 개의 열에서 고유한 이름만 추출해 단일 열로 표시하는 방법

    MySQL에서 서로 다른 두 개의 열에 저장된 값을 하나의 열로 합쳐 중복 없이 조회하려면 UNION 연산자를 사용하면 됩니다. UNION은 여러 SELECT 문의 결과를 결합하면서 자동으로 중복 행을 제거해 주기 때문에, 두 열의 데이터를 고유한 값 목록으로 만들 때 매우 유용합니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Name1 varchar(100), Name2 varchar(100) ); Query OK, 0 rows affec

  18. MySQL GROUP BY와 CONCAT()로 고유한 이름·성 조합 표시하기

    MySQL에서 CONCAT() 함수와 GROUP BY 절을 함께 사용하면 이름(First Name)과 성(Last Name)이 저장된 테이블에서 중복을 제거한 고유한 이름 조합만 손쉽게 추출할 수 있습니다. 이번 글에서는 실제 예제를 통해 그 과정을 단계별로 살펴보겠습니다. 1. 테이블 생성하기 먼저 이름과 성을 저장할 테이블을 생성하고, 두 컬럼에 인덱스를 추가합니다. mysql> create table DemoTable (    FirstName varchar(100),    LastNa

  19. MySQL에서 특정 월의 날짜 레코드만 조회하는 방법 – LIKE 연산자로 날짜 필터링하기

    개요데이터베이스 작업을 하다 보면 전체 데이터가 아닌 특정 월에 해당하는 레코드만 조회해야 하는 경우가 자주 있습니다. 예를 들어 2019년 8월에 입학한 학생 기록만 확인하고 싶다면, MySQL의 LIKE 연산자를 활용하면 간단하게 해결할 수 있습니다.이번 글에서는 예제 테이블을 직접 만들고, 문자열로 저장된 날짜 데이터에서 원하는 월의 레코드만 추출하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 날짜를 문자열(varchar) 타입으로 저장하는 테이블을 생성합니다.mysql> create table Demo

  20. MySQL에서 동적으로 컬럼 선택하기: PREPARE 문 활용 가이드

    MySQL에서 쿼리를 실행할 때 컬럼명이나 테이블명을 미리 정해두지 않고 상황에 따라 유동적으로 지정해야 하는 경우가 있습니다. 이럴 때 PREPARE 문과 EXECUTE 문을 함께 활용하면 동적으로 컬럼을 선택한 쿼리를 실행할 수 있습니다.핵심 흐름은 다음과 같습니다. 먼저 실행하고자 하는 쿼리를 문자열 형태로 만들어 준비(prepare)한 뒤, 해당 prepared statement를 실행(execute)하는 순서입니다.예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성하겠습니다.mysql> create table Dem

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:68/229  20-컴퓨터/Page Goto:1 62 63 64 65 66 67 68 69 70 71 72 73 74