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

MySQL

  1. MySQL WHERE 절에서 현재 연도 가져오는 방법

    MySQL에서 현재 연도를 구하려면 YEAR() 함수와 CURDATE() 함수를 함께 사용하면 됩니다. 이 두 함수를 조합하면 WHERE 절에서 현재 연도와 일치하는 데이터를 손쉽게 조회할 수 있습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1360 -> ( -> JoiningYear int -> ) -> ; Query OK, 0 rows affected (0.51 sec)2. 데이터 삽입하기INSE

  2. MySQL에서 특정 도메인의 URL을 삭제하는 방법 (DELETE + LIKE 활용)

    MySQL 데이터베이스에서 특정 도메인이 포함된 URL을 한 번에 삭제하고 싶다면 DELETE 문과 LIKE 절을 함께 사용하면 됩니다. LIKE 절에 와일드카드(%)를 활용하면 특정 도메인 문자열이 포함된 모든 레코드를 손쉽게 찾아 제거할 수 있습니다.1. 예제 테이블 생성하기먼저 URL을 저장할 테이블을 생성합니다.mysql> create table DemoTable1361 -> ( -> URL text -> );Query OK, 0 rows affected (0.58 sec)2. 샘플 데이

  3. MySQL에서 특정 두 컬럼을 포함하는 모든 테이블 찾는 방법

    MySQL에서 특정 두 컬럼을 포함하는 테이블 찾기데이터베이스에 수십, 수백 개의 테이블이 존재할 때, 특정 컬럼 두 개를 동시에 가지고 있는 테이블만 골라내야 하는 경우가 종종 발생합니다. 이런 경우 MySQL의 information_schema.columns 뷰를 활용하면 손쉽게 해결할 수 있습니다.information_schema.columns는 데이터베이스 내 모든 테이블의 컬럼 정보를 담고 있는 시스템 뷰입니다. 여기서는 예시로 첫 번째 컬럼 자리에 Id, 두 번째 컬럼 자리에 Name을 사용하겠습니다.조회 쿼리 작성하기아

  4. MySQL SELECT 쿼리에서 새 열을 추가하고 행 번호를 값으로 표시하는 방법

    SELECT 쿼리 결과에 새로운 열을 추가하면서, 해당 열의 값으로 각 행의 번호(순위)를 표시하고 싶다면 MySQL의 row_number() 윈도우 함수를 활용할 수 있습니다. 이번 글에서는 실제 예제를 통해 그 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1342    -> (    -> Score int    

  5. MySQL 단일 쿼리로 여러 레코드 한 번에 삽입하는 방법 (VALUES 쉼표 구분)

    MySQL에서는 INSERT 문 하나만으로도 여러 개의 레코드를 동시에 테이블에 삽입할 수 있습니다. VALUES 절 뒤에 각 행의 값을 쉼표(,)로 구분하여 나열하면 되는데, 이 방식은 개별 INSERT 문을 반복 실행하는 것보다 성능 면에서 훨씬 유리합니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table if not exists DemoTable1343 -> ( -> `_ClientId` int NOT NULL AUTO_INCREMENT PRIMAR

  6. MySQL에서 특정 열 값이 0인 행만 조회하는 방법 – GROUP BY와 HAVING 절 활용하기

    개요MySQL에서 특정 열의 값이 0인 행만 골라내고 싶은데, 동시에 다른 열을 기준으로 그룹화해야 하는 경우가 있습니다. 이럴 때는 GROUP BY 절과 함께 HAVING 절을 사용하면 됩니다.이 글에서는 실제 예제 테이블을 만들고, 단계별로 쿼리를 작성하며 원하는 결과를 얻는 과정을 살펴보겠습니다.1. 예제 테이블 생성먼저 연습용 테이블을 생성합니다. 고객 ID(ClientId)와 결혼 여부(isMarried)를 저장하는 간단한 구조입니다.mysql> create table DemoTable1344 -> (

  7. MySQL에서 REPLACE 함수로 이메일 주소를 다른 도메인으로 변경(마스킹)하는 방법

    MySQL에서 저장된 사용자 이메일 주소의 도메인 부분을 다른 도메인으로 일괄 변경해야 하는 경우가 있습니다. 예를 들어 개인정보 보호를 위해 데이터를 마스킹하거나, 테스트 환경으로 데이터를 복사할 때 실제 도메인을 숨기고 싶을 수 있습니다. 이럴 때 REPLACE() 함수를 사용하면 간단하게 처리할 수 있습니다.1. 테이블 생성하기먼저 이메일 주소를 저장할 테이블을 생성합니다.mysql> create table DemoTable1345-> (-> UserEmailAddress text-> );Query OK,

  8. MySQL에서 다른 테이블의 열 값을 기준으로 열 업데이트하기

    MySQL에서 한 테이블의 열 값을 다른 테이블의 열 값을 기준으로 업데이트하려면 UPDATE 문과 JOIN을 함께 사용하면 됩니다. 이 방식은 두 테이블을 공통 키(예: Id)로 연결한 뒤, 참조 테이블의 값을 대상 테이블에 반영할 때 유용합니다.1. 첫 번째 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1    -> (    -> Id int,   &n

  9. MySQL에서 조건을 활용해 쿼리를 정렬하고 선택하는 방법

    MySQL에서 조건을 활용한 정렬과 선택 방법MySQL에서 0 값을 맨 뒤로 보내고 나머지 값들을 오름차순으로 정렬하려면 ORDER BY 절에 조건식을 함께 사용할 수 있습니다. 다음은 기본 문법입니다.select * from yourTableName order by yourColumnName=0,yourColumnName;이 문법의 핵심은 yourColumnName=0이라는 불리언 표현식입니다. MySQL에서는 조건식이 거짓이면 0, 참이면 1을 반환합니다. 따라서 0이 아닌 값은 0(거짓)으로 평가되어 앞쪽에 정렬되고, 실제 0

  10. MySQL에서 사용자 정의 변수 값을 활용해 테이블 행 열을 업데이트하는 방법

    MySQL에서는 사용자 정의 변수(@변수)에 값을 저장한 뒤, 이를 UPDATE 쿼리에 활용하여 특정 행의 열 값을 손쉽게 증가시킬 수 있습니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1349    -> (    -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,  &nb

  11. MySQL AUTO_INCREMENT 컬럼에 NULL, 0, DEFAULT 값을 사용해 자동 증가 처리하기

    MySQL AUTO_INCREMENT에서 값 직접 지정 없이 자동 증가 활용하는 방법MySQL에서 AUTO_INCREMENT로 설정된 컬럼에 레코드를 삽입할 때, 일일이 순번을 직접 작성하지 않아도 됩니다. NULL, 0, 또는 DEFAULT 키워드를 값으로 전달하면 MySQL이 자동으로 다음 증가값을 할당해 줍니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1350-> (-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY K

  12. MySQL에서 특정 두 개의 컬럼을 모두 포함하는 테이블을 찾는 방법

    MySQL 데이터베이스에서 특정 컬럼들을 동시에 가지고 있는 테이블을 찾아야 할 때가 있습니다. 예를 들어 columnA와 columnB라는 두 컬럼을 모두 포함하는 모든 테이블 목록이 필요한 경우, information_schema.columns를 활용하면 손쉽게 조회할 수 있습니다.information_schema.columns란?information_schema는 MySQL 서버가 관리하는 메타데이터(데이터베이스, 테이블, 컬럼 정보 등)를 담고 있는 시스템 스키마입니다. 그중 columns 테이블에는 모든 데이터베이스의 컬럼

  13. MySQL에서 3번 이상 반복되는 중복 값만 조회하는 방법

    MySQL에서 특정 열의 값이 3번 이상 반복되는 경우에만 해당 데이터를 조회하고 싶다면, GROUP BY와 함께 HAVING COUNT() 절을 사용하면 됩니다. 이 글에서는 예제 테이블을 만들고 단계별로 중복 데이터를 필터링하는 방법을 살펴보겠습니다.1. 예제 테이블 생성하기먼저 학생 정보를 저장할 테이블을 생성합니다.mysql> create table DemoTable1351-> (-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> StudentName va

  14. MySQL 저장 프로시저 하나로 두 테이블에 동시에 값 삽입하는 방법

    개요MySQL에서는 하나의 저장 프로시저(Stored Procedure)를 호출하는 것만으로 여러 테이블에 값을 삽입할 수 있습니다. 이 방식은 반복되는 INSERT 작업을 하나의 로직으로 묶어 코드의 재사용성과 유지보수성을 높여줍니다.기본 문법저장 프로시저를 사용해 두 테이블에 값을 삽입하는 기본 문법은 다음과 같습니다.DELIMITER //CREATE PROCEDURE yourProcedureName(anyVariableName int)    BEGIN    

  15. MySQL에서 특정 시간 이후의 타임스탬프를 가진 레코드 조회하는 방법

    MySQL에서 현재 시간 기준으로 일정 시간(예: 2분) 이후에 기록된 데이터만 조회하고 싶다면 DATE_SUB() 함수와 NOW() 함수를 함께 활용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 실제 쿼리를 통해 원하는 결과를 얻는 과정을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 날짜·시간 값을 저장할 컬럼을 가진 테이블을 생성합니다.mysql> create table DemoTable1335-> (-> ArrivalTime datetime-> );Query OK, 0 rows affected (

  16. MySQL에서 필드가 NULL일 때 다른 필드를 대신 선택하는 방법 – COALESCE() 활용하기

    MySQL에서 한 필드의 값이 NULL로 설정되어 있을 때, 같은 행의 다른 필드 값을 대신 가져오고 싶은 경우가 종종 있습니다. 이럴 때 COALESCE() 함수를 활용하면 간단하게 해결할 수 있습니다.COALESCE() 함수란?COALESCE()는 인자로 전달된 값들 중 NULL이 아닌 첫 번째 값을 반환하는 MySQL 함수입니다. 따라서 FirstName이 NULL이면 SecondName을, 그 반대의 경우에는 FirstName을 반환하도록 쿼리를 작성할 수 있습니다.예제 테이블 생성먼저 예제에 사용할 테이블을 생성해 보겠습니

  17. MySQL에서 특정 사용자의 모든 권한 확인하는 방법 (SHOW GRANTS)

    MySQL에서는 SHOW GRANTS 명령어를 사용해 특정 사용자에게 부여된 모든 권한을 간단히 확인할 수 있습니다. 이번 글에서는 먼저 서버에 등록된 전체 사용자 목록을 조회한 뒤, 특정 사용자의 권한을 확인하는 과정을 예제와 함께 단계별로 살펴보겠습니다. 1단계: 전체 사용자 및 호스트 목록 조회 MySQL 시스템 테이블인 mysql.user를 조회하면 서버에 등록된 모든 사용자 계정과 해당 호스트 정보를 한눈에 확인할 수 있습니다. mysql> select user, host from mysql.user; 위 쿼리를 실

  18. SQL에서 'Value440', 'Value345'처럼 문자와 숫자가 섞인 열에서 최대값 구하는 방법

    Value440, Value345처럼 문자열과 숫자가 결합된 형태로 저장된 열에서 최대값을 구하려면 MAX() 함수와 substring() 함수를 함께 사용하면 됩니다. 먼저 테이블을 생성해 보겠습니다.mysql> create table DemoTable1337 -> ( -> Value varchar(50) -> );Query OK, 0 rows affected (0.58 sec)insert 명령을 사용해 테이블에 레코드를 삽입합니다.mysql> insert into DemoTable133

  19. MySQL에서 HAVING 절과 avg() 함수로 중복 데이터의 개별 평균 구하기

    MySQL에서 AVG() 같은 집계 함수의 결과를 조건으로 필터링하려면 WHERE 절 대신 HAVING 절을 사용해야 합니다. WHERE 절은 그룹화 이전의 개별 행에 적용되는 반면, HAVING 절은 GROUP BY로 그룹화된 결과에 조건을 적용할 수 있기 때문입니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable1338    -> (    -> Name varchar(10

  20. MySQL에서 조건에 따라 값을 계산하고 결과를 별도의 열로 표시하는 방법

    MySQL에서 조건별 값 계산하기MySQL에서는 CASE 표현식과 SUM() 집계 함수를 함께 사용하면 특정 조건을 만족하는 행의 개수를 계산하고, 그 결과를 각각 다른 열로 표시할 수 있습니다. 이 기법은 과목별 수강 인원처럼 데이터를 그룹 단위로 요약하는 피벗 형태의 보고서를 만들 때 특히 유용합니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1485 -> ( -> StudentId int NOT NULL AUTO_INCREMENT P

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