MySQL에서는 ALTER 명령어를 사용하여 테이블의 열(컬럼)을 손쉽게 삭제할 수 있습니다. 예를 들어, 이미 생성된 테이블에서 더 이상 필요하지 않은 특정 열들을 제거해야 하는 상황이 발생할 수 있는데, 이때 ALTER 명령과 DROP COLUMN 구문을 함께 사용하면 됩니다.1. 예제용 테이블 생성하기먼저 실습에 사용할 테이블을 하나 만들어 보겠습니다. 아래 쿼리는 네 개의 열을 가진 테이블을 생성합니다.mysql> create table DeleteColumnNameDemo-> (-> Id int,->
MySQL에서 테이블에 새로운 열(컬럼)을 추가하려면 ALTER 명령어와 ADD COLUMN 절을 함께 사용합니다. 이 글에서는 먼저 Id와 Name 두 개의 열을 가진 테이블을 생성한 뒤, ALTER 명령어를 이용해 Age와 Address 열을 추가하는 전체 과정을 단계별로 살펴보겠습니다. 1단계: 테이블 생성하기 먼저 다음 쿼리를 실행하여 테이블을 생성합니다. mysql> create table AddingColumnNameDemo -> ( -> Id int, -> Name varchar(
MySQL 기본 키의 자동 인덱싱네, MySQL에서 기본 키(Primary Key)는 자동으로 인덱싱됩니다. 그 이유는 기본 키가 B-트리(B-tree) 구조로 저장되기 때문입니다. InnoDB와 MyISAM을 포함한 모든 스토리지 엔진은 기본 키에 대한 인덱스 생성을 자동으로 지원합니다.즉, 별도로 인덱스를 생성하지 않아도 기본 키는 InnoDB, MyISAM 등 대부분의 엔진에서 암시적으로(implicitly) 인덱싱됩니다.기본 키가 있는 테이블 생성 예제다음과 같이 기본 키를 포함한 테이블을 생성해 보겠습니다.mysql>
MySQL CAST() 함수로 VARCHAR를 INT로 변환하기MySQL에서 VARCHAR 타입의 데이터를 INT(정수형)로 변환하려면 CAST() 함수를 사용할 수 있습니다. CAST() 함수는 하나의 데이터 타입을 다른 데이터 타입으로 안전하게 형변환해 주는 표준 SQL 함수입니다.CAST() 함수 기본 문법CAST(anyValue AS dataType)괄호 안에 변환하고자 하는 값을 먼저 쓰고, AS 뒤에 원하는 데이터 타입을 지정하면 됩니다.예제 테이블 생성실습을 위해 CREATE 명령어로 VARCHAR 타입 컬럼을 가진 테
MySQL에서 테이블의 마지막 행을 조회하려면 ORDER BY 절에 DESC(내림차순) 옵션을 지정하고 LIMIT 1을 함께 사용하는 것이 가장 일반적이고 효율적인 방법입니다. 이번 글에서는 예제 테이블을 직접 만들고 데이터를 삽입한 뒤, 마지막 레코드를 가져오는 과정을 단계별로 살펴보겠습니다. 1. 예제 테이블 생성하기 먼저 CREATE TABLE 문을 사용하여 테스트용 테이블을 생성합니다. mysql> create table getLastRecord -> ( -> Id int, -> Nam
MySQL에서 열(column)의 정의를 변경하려면 ALTER 명령어와 함께 MODIFY 또는 CHANGE 절을 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 열 정의를 변경하는 과정을 단계별로 살펴보겠습니다. 1. 테스트용 테이블 생성하기 먼저 int 데이터 타입을 가진 id 열이 포함된 테이블을 생성합니다. 이후 이 열을 varchar 데이터 타입으로 변경해 보겠습니다. mysql> create table ModifyColumnDemo -> ( -> id int -> ); Query O
MySQL RANK() 함수란?MySQL의 RANK() 함수는 윈도우 함수(Window Function)의 하나로, 결과 집합의 각 파티션(partition) 안에서 모든 행에 순위를 부여하는 데 사용됩니다. 특히 동일한 값이 여러 개 존재할 경우 같은 순위가 부여되고, 그다음 순위는 중복된 수만큼 건너뛰어 매겨지는 것이 특징입니다.실제 동작 방식을 이해하기 위해 간단한 예제를 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table RankDemo ->
MySQL에서 사용되는 <=> 연산자의 용도와 특징을 자세히 살펴보겠습니다. 1. 일반적인 값 비교 (= 연산자와 유사) <=> 연산자는 = 연산자와 마찬가지로 두 값이 서로 같으면 참(1), 다르면 거짓(0)을 반환합니다. 즉, NULL이 포함되지 않은 일반적인 값 비교에서는 = 연산자와 <=> 연산자가 동일하게 작동합니다. 2. NULL 값 비교 시 나타나는 차이점 두 연산자의 결정적인 차이는 NULL을 처리하는 방식에 있습니다. <=> 연산자: 어떤 값과 NULL을 비교하면 0을 반
MySQL에서는 동적 기본값(dynamic default)을 활용하면 now() 함수를 컬럼의 기본값으로 손쉽게 설정할 수 있습니다. 이 글에서는 datetime 데이터 타입을 가진 테이블을 생성한 뒤, MyTime 컬럼의 기본값으로 현재 날짜와 시간이 자동으로 입력되도록 설정하는 과정을 단계별로 살펴보겠습니다. 1. DATETIME 타입 테이블 생성 먼저 datetime 타입의 컬럼을 포함하는 테이블을 생성합니다. 이때 CURRENT_TIMESTAMP(즉, NOW()와 동일한 기능)를 기본값으로 지정합니다. mysql> c
금액(통화 값)을 표현하려면 MySQL에서 DECIMAL(전체 자릿수, 소수점 이하 자릿수) 형식의 데이터 유형을 사용해야 합니다.DECIMAL 데이터 유형이란?예를 들어 345.66이라는 값을 저장해야 한다고 가정해 보겠습니다. 먼저 이 값이 몇 자리 숫자로 구성되어 있는지 살펴보겠습니다. 345.66은 총 5자리이며, 소수점 이하로는 2자리(66)가 있습니다.MySQL에서는 DECIMAL() 메서드를 사용하여 동일하게 표현할 수 있으며, 정확한 표기는 다음과 같습니다.DECIMAL(5,2)여기서 첫 번째 숫자인 5는 정수부와 소
MySQL 데이터베이스 삭제 방법MySQL에서 데이터베이스를 삭제하려면 DROP 명령어를 사용해야 합니다. 기본 문법은 다음과 같습니다.DROP DATABASE yourDatabaseName;현재 존재하는 데이터베이스 확인하기먼저 MySQL에 현재 몇 개의 데이터베이스가 있는지 확인해 보겠습니다. 다음 쿼리를 실행합니다.mysql> SHOW DATABASES;실행 결과는 다음과 같습니다.+--------------------+ | Database | +--------------------+ | business
MySQL의 REPLACE() 함수는 특정 문자열을 다른 문자열로 손쉽게 교체할 수 있는 유용한 도구입니다. 이 함수를 제대로 이해하기 위해, 먼저 샘플 데이터가 들어 있는 테이블을 만들어 보겠습니다.1. 테이블 생성하기다음 쿼리를 사용하여 테이블을 생성합니다. mysql> create table replaceDemo -> ( -> Name varchar(200) -> ); Query OK, 0 rows affected (0.55 sec) 2. 샘플 데이터 삽입하기INSERT 명령을 사용하여 몇
MySQL에서 특정 테이블이 언제 마지막으로 수정되었는지 확인하고 싶다면 information_schema.tables 뷰의 UPDATE_TIME 컬럼을 활용하면 됩니다. WHERE 절과 함께 사용하면 원하는 데이터베이스와 테이블의 최종 변경 시간을 손쉽게 조회할 수 있습니다.예제 테이블 생성하기먼저 실습을 위한 테이블을 생성해 보겠습니다.mysql> create table MyISAMTableDemo -> ( -> id int -> ); Query OK, 0 rows affected (0
MySQL에서 현재 날짜와 시간으로부터 특정 일수를 빼야 하는 경우가 자주 발생합니다. 예를 들어 10일 전의 날짜를 조회하거나, 최근 10일 이내의 데이터를 필터링할 때 유용합니다. 이 글에서는 DATE_SUB() 함수를 사용해 현재 날짜·시간에서 10일을 빼는 방법을 단계별로 알아보겠습니다. 1단계: now() 함수로 현재 날짜·시간 확인하기 먼저 now() 함수를 사용하여 MySQL 서버의 현재 날짜와 시간을 확인합니다. mysql> select now(); 실행 결과는 다음과 같습니다. +-------------
MySQL에서 선택된 데이터베이스 확인하기MySQL에서 현재 사용 중인 데이터베이스가 무엇인지 확인하는 가장 간단한 방법은 DATABASE() 함수를 DUAL 테이블과 함께 사용하는 것입니다. 예를 들어 business라는 데이터베이스를 사용 중이라고 가정해 보겠습니다. mysql> use business; Database changed 이제 DATABASE() 함수를 사용하여 어떤 데이터베이스가 선택되었는지 확인할 수 있습니다. mysql> SELECT DATABASE() FROM DUAL; 실행 결과는 다음과 같습니다
LAST_INSERT_ID() 함수로 새 레코드 키 ID 가져오기MySQL에서는 LAST_INSERT_ID() 함수를 사용하여 가장 최근에 삽입된 레코드의 키(AUTO_INCREMENT) ID 값을 손쉽게 확인할 수 있습니다. 이 글에서는 테이블을 생성한 후, 레코드를 삽입하는 과정에서 LAST_INSERT_ID() 함수를 어떻게 활용하는지 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 CREATE 명령어를 사용하여 테이블을 생성합니다.쿼리는 다음과 같습니다.mysql> create table LastInsertRecordI
CHAR_LENGTH() 함수란?MySQL에서 CHAR_LENGTH() 함수는 문자열의 길이를 문자 수 기준으로 반환합니다. 매개변수로 전달된 문자열의 길이를 확인하는 간단한 예제를 살펴보겠습니다.mysql> select char_length(John);실행 결과는 다음과 같습니다.+---------------------+ | char_length(John) | +---------------------+ | 4 | +---------------------+ 1 row in set (0.00 se
MySQL 테이블에서 특정 열에 동일한 값이 여러 번 저장된 행(중복 데이터)만 조회해야 하는 경우가 자주 있습니다. 이 글에서는 예제 테이블을 만들고, GROUP BY와 HAVING 절을 활용해 중복된 값을 가진 행만 추출하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다. 아래 예제에서는 이름(Name) 값을 저장하는 간단한 테이블을 만들어 보겠습니다.mysql> create table RowValueDemo-> (-> Name varchar(100)-> );Que
MySQL JDBC 연결 문자열이란?자바(Java) 애플리케이션에서 MySQL 데이터베이스에 접속하려면 JDBC(Java Database Connectivity) 드라이버를 사용해야 합니다. 이때 가장 먼저 필요한 것이 바로 JDBC 연결 문자열(Connection String)입니다.MySQL JDBC 드라이버를 로드하는 기본 코드는 다음과 같습니다.Class.forName(com.mysql.jdbc.Driver);위 코드에서 Driver는 인터페이스(Interface)로, MySQL 서버와 자바 애플리케이션 사이에서 통신을 담당
MySQL 서버에 현재 열려 있는 활성 연결 또는 전체 연결 수를 확인하려면 Threads_connected 상태 변수를 사용하면 됩니다. 이 변수는 현재 열려 있는 연결(스레드)의 개수를 알려줍니다.Threads_connected 변수로 연결 수 확인하기다음 쿼리를 실행하면 현재 연결된 스레드 수를 조회할 수 있습니다.mysql> show status where `variable_name` = Threads_connected;실행 결과는 다음과 같습니다.+-------------------+-------+ | Variable