이미 생성되어 있는 테이블을 기반으로 새로운 테이블을 만들 때는 CREATE TABLE AS SELECT 문을 사용합니다. 이 문법은 기존 테이블의 구조와 데이터를 그대로 복사하면서, WHERE 절을 활용하면 원하는 조건에 맞는 특정 행만 골라서 새 테이블에 담을 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1318-> (-> Id int,-> FirstName varchar(10),-> LastName varchar(10),-> Ag
MySQL에서 날짜 문자열의 월 번호 대신 월 이름(예: October, January)을 출력하려면 STR_TO_DATE() 함수와 DATE_FORMAT() 함수를 함께 사용하면 됩니다. 먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1320-> (-> MonthName varchar(20)-> );Query OK, 0 rows affected (0.43 sec)예제 1: 데이터 삽입insert 명령을 사용해 테이블에 레코드를 삽입합니다.mysql> i
날짜별 개수를 표시하려면 집계 함수인 COUNT(*)를 사용하면 됩니다. 먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable1321-> (-> ArrivalDatetime timestamp-> );Query OK, 0 rows affected (0.50 sec)예제 1: 데이터 삽입insert 명령을 사용하여 테이블에 레코드를 삽입합니다.mysql> insert into DemoTable1321 values(now());Query OK, 1 row affec
MySQL에서는 UPDATE 문의 SET 절에 여러 열과 값을 쉼표(,)로 나열하면, 단일 쿼리만으로 테이블의 여러 열을 원하는 값으로 동시에 수정할 수 있습니다. 아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다. 1. 예제 테이블 생성 먼저 실습에 사용할 테이블을 생성합니다. mysql> create table DemoTable ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(40), ClientAge int,
문자열을 분할하고 마지막 단어만 추출하고 싶다면 SUBSTRING_INDEX() 함수를 사용하면 됩니다. 이 함수는 구분자(delimiter)를 기준으로 문자열을 나눈 뒤, 지정한 개수만큼의 부분 문자열을 반환합니다. 특히 세 번째 인자에 음수(-1)를 넣으면 오른쪽부터 계산하여 마지막 단어를 손쉽게 얻을 수 있습니다.실제 동작 과정을 예제를 통해 살펴보겠습니다.1. 테스트용 테이블 생성먼저 테이블을 생성합니다.mysql> create table DemoTable ( Words TEXT ); Query OK, 0 row
MySQL에서 sp_help를 대체하는 방법 SQL Server의 sp_help는 테이블 구조, 필드 유형, 제약 조건 등을 한눈에 확인할 수 있는 시스템 저장 프로시저입니다. MySQL에서는 이와 동일한 기능을 SHOW CREATE 명령어를 통해 손쉽게 구현할 수 있습니다. CASE 1: 테이블 구조 확인 테이블의 생성 문(필드 유형, 기본 키, 외래 키 등 제약 조건 포함)을 확인하려면 아래 구문을 사용합니다. SHOW CREATE TABLE yourTableName; CASE 2: 저장 프로시저 정의 확인 저장 프로시저의
GROUP_CONCAT() 함수란?여러 개의 행(row)을 쉼표로 구분된 하나의 목록으로 합치려면 MySQL의 GROUP_CONCAT() 함수를 사용하면 됩니다. 이 함수는 GROUP BY 절과 함께 사용하여, 같은 그룹에 속한 여러 행의 값을 하나의 문자열로 연결해 줍니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable ( Id int, Name varchar(40) ); Query OK, 0 rows affected (0.52 sec)2.
단일 조건으로 빈 문자열과 0을 함께 확인할 수 있을까?네, 가능합니다. MySQL에서는 IN 연산자를 활용하면 하나의 조건식 안에서 빈 문자열()과 0을 동시에 확인할 수 있습니다.먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( ClientId varchar(40) ); Query OK, 0 rows affected (1.01 sec)이제 insert 명령을 사용해 몇 개의 레코드를 삽입합니다.mysql> insert into DemoTable values(CLI-0
MySQL에서 파일 경로 일괄 찾기 및 바꾸기데이터베이스에 저장된 파일 경로를 새로운 위치로 변경해야 하는 경우가 종종 있습니다. 이럴 때 MySQL의 REPLACE() 함수를 사용하면 UPDATE 문 하나로 해당 열의 모든 레코드에서 특정 문자열을 찾아 한 번에 교체할 수 있습니다.REPLACE() 함수의 기본 문법은 다음과 같습니다.REPLACE(컬럼명, 찾을_문자열, 바꿀_문자열)이제 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 파일 경로를 저장할 테이블을 만듭니다.mysql> create table
MySQL에서 이름/숫자 형태로 저장된 문자열 데이터가 있을 때, 구분자 뒤에 붙은 숫자를 제거하고 이름만 남기고 싶은 경우가 종종 있습니다. 예를 들어 John/56989라는 값을 John으로 바꾸는 것이죠. 이럴 때 SUBSTRING_INDEX() 함수를 사용하면 간단하게 해결할 수 있습니다.SUBSTRING_INDEX() 함수란?SUBSTRING_INDEX() 함수는 지정한 구분자를 기준으로 문자열을 나눈 후, 원하는 위치 이전(또는 이후)의 부분 문자열을 반환하는 함수입니다. 세 번째 인자에 1을 넣으면 첫 번째 구분자 앞까
MySQL에서 특정 열에 저장된 값들의 마지막 3자리 숫자만 추출하여 그 합계를 구해야 하는 경우가 있습니다. 예를 들어 코드 번호나 일련번호에서 뒤 세 자리만 활용해야 할 때 유용합니다.이때는 집계 함수인 SUM()과 문자열을 오른쪽부터 잘라내는 RIGHT() 함수를 함께 사용하면 됩니다. RIGHT(열이름, 3)은 각 값의 마지막 3자리를 반환하며, 이를 SUM()으로 감싸면 전체 합계를 손쉽게 계산할 수 있습니다.1. 테이블 생성하기먼저 실습에 사용할 테이블을 생성하겠습니다.mysql> create table DemoTa
개요MySQL에서 특정 열에 저장된 값들이 각각 몇 번 나타나는지(발생 횟수) 집계하고, 그 결과를 새로운 열 형태로 확인하는 방법을 소개합니다. 이 작업은 GROUP BY 절과 COUNT() 집계 함수를 함께 사용하면 간단하게 처리할 수 있습니다.1. 테이블 생성하기먼저 실습에 사용할 테이블을 생성하겠습니다.mysql> create table DemoTable( Value int);Query OK, 0 rows affected (0.57 sec)2. 샘플 데이터 삽입하기INSERT 명
MySQL 준비된 문(Prepared Statement)과 변수 함께 사용하기MySQL에서는 PREPARE 문을 실행할 때 사용자 정의 변수를 함께 활용할 수 있습니다. 이 방식을 사용하면 테이블 이름이나 조건 등을 동적으로 구성한 후 쿼리를 준비하고 실행할 수 있어 유연성이 크게 향상됩니다.아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT
MySQL로 특정 날짜 이후의 데이터 조회하기MySQL에서 특정 시작 날짜(예: 2010-11-04)부터 현재까지의 레코드를 조회하려면 WHERE=)를 활용하면 됩니다. 아래에서 예제 테이블 생성부터 쿼리 실행까지 전체 과정을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 날짜를 저장할 테이블을 생성합니다.mysql> create table DemoTable ( Joiningdate date ); Query OK, 0 rows affected (0.56 sec)2단계: 샘플 데이터 삽입INSERT 명령을 사용해 여러
MySQL에서 특정 키워드가 포함된 레코드를 여러 개 검색하려면 LIKE 연산자와 OR 연산자를 함께 사용하면 됩니다. LIKE는 패턴 매칭을 통해 문자열을 검색하고, OR은 여러 검색 조건 중 하나라도 만족하는 레코드를 모두 가져옵니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Subject text ); Query OK, 0 rows affected (0.86 sec)2. 레코드 삽입하기INSERT 명령문을 사용해 테이블에 샘플 데이터를 입력합
MySQL에서 NOW() 함수와 INTERVAL 키워드를 활용하면 현재 날짜를 기준으로 지난 3일 이내에 해당하는 레코드만 조회하고, 그 합계를 손쉽게 계산할 수 있습니다. 아래에서 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable( ProductAmount int, PurchaseDate datetime);Query OK, 0 rows affected (0.94 sec)참고: 현재 날짜
MySQL에서 INSERT 작업 시 특정 컬럼에 중복된 값이 저장되는 것을 방지하려면 해당 컬럼에 UNIQUE KEY(고유 키)를 설정해야 합니다. 고유 키가 적용된 컬럼에는 동일한 값을 가진 행이 두 번 이상 저장될 수 없습니다.1. 테이블 생성 및 UNIQUE KEY 설정먼저 FirstName 컬럼에 UNIQUE KEY를 설정하여 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName
MySQL에서 특정 열의 값이 목표 값의 ±1 이내인 레코드를 조회하려면 BETWEEN -1 AND 1 조건을 활용하면 됩니다. 이 방법은 열 값에서 기준 값을 뺀 결과가 -1과 1 사이에 있는지 확인하는 방식으로 동작합니다.예제 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.76 sec)데이터 삽입하기INSERT 명령을 사용해 몇 개의 레코드를 삽입합니다.mysql>
MySQL에서 여러 컬럼 값의 조합이 중복으로 저장되는 것을 막으려면 테이블에 UNIQUE 제약조건을 추가하면 됩니다. 아래 문법과 같이 ALTER TABLE 문을 사용해 해당 컬럼들에 UNIQUE 제약조건을 설정할 수 있습니다.ALTER TABLE yourTableName ADD CONSTRAINT yourConstraintName UNIQUE(yourColumnName1, yourColumnName2, ....N);예제 테이블 생성하기먼저 예제로 사용할 테이블을 생성해 보겠습니다.mysql> CREATE TABLE Demo
테이블의 특정 필드에 NOT NULL 속성이 설정되어 있는지 확인해야 하는 경우가 종종 있습니다. MySQL에서는 두 가지 방법으로 이를 손쉽게 확인할 수 있습니다. 하나는 DESC 명령어를 사용하는 방법이고, 다른 하나는 information_schema를 조회하는 방법입니다.방법 1: DESC 명령어로 확인하기가장 간단한 방법은 DESC(DESCRIBE) 명령어를 사용하는 것입니다. 기본 문법은 다음과 같습니다.desc 테이블이름;방법 2: information_schema 조회하기두 번째 방법은 information_schem