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

MySQL

  1. MySQL REGEXP BINARY로 대문자가 포함된 데이터 조회하는 방법

    MySQL에서 정규식으로 대문자 찾기MySQL에서 특정 컬럼에 대문자가 포함된 데이터를 검색하려면 REGEXP BINARY 연산자를 사용하면 됩니다. 기본적인 문법은 다음과 같습니다.SELECT * FROM yourTableNameWHERE yourColumnName REGEXP BINARY [A-Z]{2};여기서 BINARY 키워드는 매우 중요합니다. MySQL의 문자열 비교는 기본적으로 대소문자를 구분하지 않기 때문에, BINARY를 붙이지 않으면 소문자도 함께 매칭될 수 있습니다. BINARY를 지정하면 바이너리(대소문자 구분

  2. MySQL에서 모든 데이터를 삭제한 후 기본 키(AUTO_INCREMENT)를 1부터 다시 시작하는 방법

    MySQL에서 테이블의 모든 데이터를 삭제한 뒤 기본 키가 다시 1부터 시작되도록 초기화하고 싶다면, 아래 두 가지 명령어를 사용하면 됩니다.alter table 테이블명 AUTO_INCREMENT=1;truncate table 테이블명;위의 두 단계를 순서대로 실행하면, 이후 삽입되는 데이터의 기본 키 값은 1부터 시작하게 됩니다.예제 테이블 생성하기개념을 쉽게 이해하기 위해 실제 예제 테이블을 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.mysql> create table resettingPrimaryKeyDem

  3. MySQL SELECT 절에서 텍스트 값 연결하기: CONCAT() 함수 완벽 가이드

    MySQL에서 SELECT 절 내에서 텍스트 값을 추가하거나 연결해야 할 때는 CONCAT() 함수를 사용하면 됩니다. 이 함수는 여러 개의 문자열이나 컬럼 값을 하나의 문자열로 합쳐서 반환해 주며, 실무에서 이름과 국가처럼 분리된 데이터를 하나의 문장으로 출력할 때 매우 유용합니다.1. 예제 테이블 생성하기먼저 연결 실습에 사용할 테이블을 만들어 보겠습니다. 사용자 ID, 이름, 국가명을 저장하는 간단한 구조입니다.mysql> create table ConcatenatingDemo -> ( -> User

  4. MySQL에서 CONCAT() 함수로 DATE·TIME 필드를 결합해 DATETIME 만드는 방법

    MySQL에서는 CONCAT() 함수를 활용하면 날짜(DATE) 필드와 시간(TIME) 필드를 하나로 연결해 DATETIME 값을 간단하게 만들 수 있습니다. 이번 글에서는 실제 예제를 통해 그 과정을 단계별로 살펴보겠습니다.1단계: 데모 테이블 생성먼저 배송 날짜(ShippingDate), 배송 시간(ShippingTime), 그리고 두 값을 저장할 배송 일시(Shippingdatetime) 컬럼을 포함하는 테이블을 생성합니다.mysql> create table getDateTimeFieldsDemo -> ( -

  5. MySQL에서 DECIMAL 필드 값이 반올림되지 않도록 설정하는 방법

    MySQL에서 10진수 필드 반올림 현상 막기MySQL에서 DECIMAL 타입 컬럼에 소수점 이하 값을 저장할 때 값이 반올림되는 문제를 겪은 적이 있으신가요? 이는 DECIMAL 타입 선언 시 소수점 이하 자릿수(scale)를 지정하지 않았기 때문입니다. DECIMAL() 함수에 정밀도(precision)와 소수점 이하 자릿수를 함께 지정하면 반올림 없이 원래 값을 그대로 저장할 수 있습니다.반올림이 발생하는 경우먼저 반올림이 발생하는 예시 테이블을 만들어 보겠습니다. 아래와 같이 DECIMAL(7)로 컬럼을 선언하면 소수점 이하

  6. MySQL GROUP BY 그룹에 특정 값이 존재하는지 확인하는 방법

    MySQL에서는 집계 함수 SUM()과 IF 함수를 함께 사용하면 GROUP BY로 묶인 각 그룹 안에 특정 값이 포함되어 있는지 손쉽게 확인할 수 있습니다. 이 글에서는 예제 테이블을 만들고, 각 그룹에 특정 이름이 존재하는지 여부를 YES 또는 NO로 출력하는 쿼리를 단계별로 살펴보겠습니다.1. 데모 테이블 생성하기먼저 실습용 데모 테이블을 생성합니다.mysql> create table GroupbygroupDemo -> ( -> UserId int, -> UserName varchar(20

  7. MySQL COALESCE() 함수로 두 개의 열을 하나의 열로 합치는 방법

    MySQL에서 서로 다른 두 개의 열을 하나의 열처럼 출력해야 하는 경우가 종종 있습니다. 이럴 때 COALESCE() 함수를 사용하면 간단하게 해결할 수 있습니다.COALESCE() 함수는 인자로 전달된 값들 중 NULL이 아닌 첫 번째 값을 반환합니다. 따라서 UserName과 UserAge 두 열을 인자로 넘기면, 이름이 NULL인 행에서는 나이가, 나이가 NULL인 행에서는 이름이 대신 출력되어 마치 하나의 열처럼 보이게 됩니다.개념을 쉽게 이해하기 위해 먼저 데모용 테이블을 만들어 보겠습니다.1. 데모 테이블 생성mysql

  8. MySQL에서 행을 삭제한 후 나머지 행의 ID를 올바르게 재정렬하는 방법

    개요MySQL에서 특정 행을 삭제한 후, 남은 행들의 ID(번호)를 올바르게 재정렬해야 하는 경우가 있습니다. 이 글에서는 DELETE 문으로 행을 삭제하고, UPDATE 문으로 나머지 행의 ID를 조정하여 순서를 재정렬하는 방법을 예제와 함께 단계별로 살펴보겠습니다.1. 테이블 생성개념을 이해하기 위해 먼저 테이블을 생성하겠습니다. 테이블 생성 쿼리는 다음과 같습니다.mysql> create table ReorderSortDemo-> (-> UserId int-> );Query OK, 0 rows affect

  9. MySQL에서 고유한 값 조회 후 개수 집계하기 – GROUP BY 활용법

    MySQL에서 중복된 데이터가 있는 컬럼의 고유(distinct)한 값을 조회하고, 각 값이 몇 번 나타나는지 개수를 집계하려면 GROUP BY 절과 COUNT() 함수를 함께 사용하면 됩니다.기본 문법고유한 값을 그룹으로 묶어 개수를 세는 기본 쿼리 구문은 다음과 같습니다.select yourColumnName, count(*) as anyAliasNamefrom yourTableNamegroup by yourColumnName;여기서 count(*)는 각 그룹에 속한 행의 수를 반환하며, as anyAliasName 부분에는 원

  10. MySQL 뷰(View)에서 행을 삭제하면 기본 테이블의 데이터도 함께 삭제될까?

    결론: 네, 뷰에서 행을 삭제하면 기본 테이블의 행도 함께 삭제됩니다 MySQL에서 뷰(View)는 데이터를 직접 저장하지 않고 기본 테이블(base table)을 참조하는 가상 테이블입니다. 따라서 뷰에 대해 DELETE 문을 실행하면 해당 조건에 맞는 행이 뷰뿐만 아니라 기본 테이블에서도 함께 삭제됩니다. 아래에서 새로운 테이블과 뷰를 직접 만들어 이 동작을 단계별로 확인해 보겠습니다. 1단계: 예제용 테이블 생성 먼저 테스트에 사용할 테이블을 생성합니다. mysql> create table deleteFromBaseT

  11. MySQL 복제에서 특정 SQL 문이 슬레이브로 복제되지 않도록 일시적으로 방지하는 방법

    MySQL 복제 환경에서 마스터 서버에서 실행한 특정 SQL 문이 슬레이브(복제 서버)로 전파되는 것을 일시적으로 막고 싶은 경우가 있습니다. 예를 들어, 데이터 정리 작업이나 임시 데이터 수정을 마스터에만 적용하고 싶을 때 유용합니다.이를 구현하려면 sql_log_bin 시스템 변수를 0으로 설정하면 됩니다. 이 변수가 0이 되면 해당 세션에서 실행되는 SQL 문이 바이너리 로그(binary log)에 기록되지 않으므로, 바이너리 로그를 기반으로 동작하는 복제에도 반영되지 않습니다.테스트용 테이블 생성하기개념을 이해하기 위해 먼저

  12. MySQL에서 여러 테이블의 열 합계 구하기: UNION ALL 완벽 가이드

    MySQL에서 여러 테이블의 열을 합산하는 방법MySQL에서 여러 테이블에 흩어져 있는 열의 합계를 구하려면 UNION ALL을 활용하면 됩니다. UNION ALL은 각 테이블의 데이터를 하나의 결과 집합으로 결합해 주기 때문에, 이를 서브쿼리로 감싼 뒤 SUM() 함수를 적용하면 전체 합계를 손쉽게 계산할 수 있습니다.개념을 확실히 이해하기 위해 예제 테이블 두 개를 만들어 실습해 보겠습니다.1단계: 첫 번째 테이블 생성하기먼저 Products1이라는 이름의 첫 번째 테이블을 생성합니다. 사용할 쿼리는 다음과 같습니다.mysql&

  13. MySQL에서 DISTINCT 키워드로 고유한 값만 선택하는 방법

    MySQL에서 중복된 데이터를 제거하고 고유한(유일한) 값만 조회하려면 DISTINCT 키워드를 사용하면 됩니다. DISTINCT는 지정한 컬럼에서 중복되는 값을 하나로 묶어 결과를 반환해 줍니다.DISTINCT 기본 문법SELECT DISTINCT yourColumnName FROM yourTableName;위 문법이 실제로 어떻게 동작하는지 이해하기 위해 예제 테이블을 먼저 만들어 보겠습니다.예제 테이블 생성다음 쿼리로 테이블을 생성합니다.mysql> create table selectUniqueValue ->

  14. MySQL에서 두 숫자의 절대 차이 구하는 방법 – ABS() 함수 활용 가이드

    MySQL에서 두 숫자의 절대 차이 구하는 방법MySQL에서 두 숫자 사이의 절대 차이를 구할 때는 ABS() 함수를 사용합니다. ABS() 함수는 인자로 받은 값의 절댓값을 반환하기 때문에, 두 숫자를 단순히 뺐을 때 결과가 음수가 나오더라도 항상 양수 형태의 차이를 얻을 수 있습니다.실제 동작을 확인하기 위해 먼저 데모용 테이블을 생성해 보겠습니다.mysql> create table findDifferenceDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY

  15. MySQL 테이블에 새 열 추가와 인덱스 생성을 한 번에 하는 방법

    MySQL 테이블에 새 열과 인덱스를 동시에 추가하는 방법MySQL에서 기존 테이블에 새로운 열(column)을 추가하면서 동시에 해당 열에 대한 인덱스까지 생성해야 하는 경우가 종종 있습니다. 이럴 때는 ALTER TABLE 명령어 하나만으로 두 작업을 한 번에 처리할 수 있습니다.기본 문법ALTER TABLE yourTableName ADD COLUMN yourColumnName dataType, ADD INDEX(yourColumnName);테이블 이름 뒤에 ADD COLUMN 절로 새 열을 정의하고, 이어서 ADD IND

  16. MySQL에서 숫자 형태의 두 문자열을 비교하는 방법

    MySQL에서 숫자 문자열 비교하기MySQL에서 숫자로 이루어진 두 문자열을 비교하려면 CAST() 함수를 사용하면 됩니다. CAST() 함수는 문자열 컬럼을 부호 있는 정수(signed) 타입으로 변환해 주기 때문에, varchar 타입으로 저장된 숫자 값도 일반 정수와 동일한 방식으로 비교할 수 있습니다.기본 문법숫자 문자열을 비교하는 기본적인 문법은 다음과 같습니다.select *from yourTableNamewhere cast(yourColumnName as signed)=yourIntegerValue;예제 테이블 생성위

  17. MySQL에서 UNION을 활용해 테이블 마지막 행에 합계 표시하는 방법

    MySQL에서 테이블의 마지막 행에 전체 합계를 표시하려면 UNION 연산자를 활용하면 됩니다. UNION은 두 개 이상의 SELECT 쿼리 결과를 하나로 결합해 주는 역할을 하므로, 원본 데이터를 조회하는 쿼리와 SUM() 함수로 합계를 계산하는 쿼리를 연결하면 원하는 결과를 얻을 수 있습니다. 1. 예제 테이블 생성 먼저 실습에 사용할 테이블을 생성합니다. 학생 ID, 이름, 점수 세 개의 컬럼으로 구성된 간단한 테이블입니다. mysql> create table showSumInLastRowDemo -> (

  18. MySQL에서 두 열의 연산 결과를 기준으로 정렬하는 방법

    개요MySQL에서는 ORDER BY 절에 단순히 열 이름만 쓰는 것이 아니라, 여러 열을 조합한 계산식(함수)의 결과를 기준으로도 정렬할 수 있습니다. 예를 들어 두 개의 숫자 열이 있을 때, 각 열에 가중치를 곱해 더한 값 순서대로 데이터를 내림차순 정렬하는 방법을 예제와 함께 살펴보겠습니다.1. 예제 테이블 생성먼저 두 개의 숫자 열을 가진 테이블을 생성합니다.mysql> create table orderByAFunctionDemo-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY

  19. MySQL에서 Unix 타임스탬프를 날짜 형식으로 변환하는 방법

    MySQL에서 Unix 타임스탬프를 날짜 형식으로 변환하는 방법 MySQL에 저장된 Unix 타임스탬프(bigint) 값을 사람이 읽기 쉬운 날짜·시간 형식으로 바꾸려면 from_unixtime() 함수와 date_format() 함수를 조합하면 됩니다. 기본 구문은 다음과 같습니다. select date_format(from_unixtime(yourColumnName), %b %d, %Y %l:%i %p PDT) from yourTableName; 주요 함수 및 형식 지정자 from_unixtime() — 초 단위 Unix 타임

  20. MySQL SHOW COLUMNS 결과에서 특정 컬럼 제외하는 방법

    MySQL에서 SHOW COLUMNS 명령어는 테이블의 전체 컬럼 정보를 보여줍니다. 하지만 경우에 따라 특정 컬럼만 제외하고 나머지 컬럼 정보를 확인하고 싶을 수 있습니다. 이때 WHERE 절과 NOT IN 연산자를 함께 사용하면 원하지 않는 컬럼을 손쉽게 걸러낼 수 있습니다.1. 데모 테이블 생성먼저 실습에 사용할 데모 테이블을 생성해 보겠습니다.mysql> create table excludeCertainColumnsDemo-> (-> StudentId int NOT NULL AUTO_INCREMENT PRIM

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:124/229  20-컴퓨터/Page Goto:1 118 119 120 121 122 123 124 125 126 127 128 129 130