MySQL에서 컬럼 값에 포함된 특정 텍스트(부분 문자열)를 제거하려면 REPLACE() 함수를 사용하면 됩니다. REPLACE() 함수는 지정한 문자열을 찾아 다른 문자열로 치환하는 기능을 하며, 빈 문자열()로 치환하면 사실상 해당 텍스트를 삭제하는 효과를 얻을 수 있습니다.REPLACE() 함수 기본 문법UPDATE yourTableNameSET yourColumnName = REPLACE(yourColumnName, yourValue, );위 문법에서 세 번째 인자에 빈 문자열을 넣으면, 해당 컬럼 값에서 찾은 텍스트가 그대
MySQL에서 INT 필드의 시작 부분(앞자리)을 0으로 채우려면 LPAD() 함수를 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 단계별로 자세히 살펴보겠습니다. 1. 테이블 생성하기 먼저 예제에 사용할 테이블을 생성합니다. mysql> create table paddingDemo -> ( -> Number int -> ); Query OK, 0 rows affected (0
MySQL에서 열(컬럼) 이름에 공백을 포함하려면 백틱(backtick, `)을 활용하면 됩니다. 일반적인 식별자 규칙과 달리, 백틱으로 감싸면 공백이 포함된 열 이름도 자유롭게 사용할 수 있습니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.1. 테이블 생성mysql> create table blankSpacesDemo -> ( -> `Student Id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> `S
MySQL에서 특정 테이블의 평균 행 길이를 확인하려면 INFORMATION_SCHEMA.TABLES를 활용하면 됩니다. 이 시스템 뷰에는 테이블 이름, 엔진 종류, 행 수, 평균 행 길이 등 다양한 테이블 메타데이터가 저장되어 있습니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 생성합니다. 아래 쿼리를 실행해 보세요.mysql> create table Client_information-> (-> Id int,-> Name varchar(10)-> );Query OK, 0 rows affected
MySQL에서 여러 컬럼을 조합해 고유한 복합 키(Composite Key)를 만들려면 ADD UNIQUE 명령어를 사용하면 됩니다. 이렇게 생성된 유니크 제약 조건은 지정한 컬럼들의 값 조합이 테이블 내에서 중복되지 않도록 보장합니다.기본 문법ALTER TABLE yourTableName ADD UNIQUE yourUniqueName(yourColumnName1, yourColumnName2, ......N);예제 테이블 생성먼저 실습에 사용할 테이블을 생성해 보겠습니다. 다음 쿼리를 실행합니다.mysql> CREATE TA
MySQL에서 SHOW TABLE STATUS 명령을 사용하지 않고도 특정 테이블의 다음 AUTO_INCREMENT 값을 확인할 수 있습니다. 바로 INFORMATION_SCHEMA.TABLES를 활용하는 방법입니다.1. 예제 테이블 생성하기먼저 AUTO_INCREMENT가 적용된 기본키를 가진 테이블을 생성해 보겠습니다.mysql> create table viewtheauto_incrementValueForATableDemo -> ( -> StudentId int NO
MySQL에서 TIMESTAMP 기본값에 current_date() 대신 CURRENT_TIMESTAMP 사용하기MySQL에서 TIMESTAMP 타입 열의 기본값을 현재 날짜와 시간으로 지정하려면 current_date()가 아닌 CURRENT_TIMESTAMP를 사용해야 합니다. MySQL은 TIMESTAMP 열의 DEFAULT 값으로 CURRENT_TIMESTAMP만 허용하기 때문입니다. 아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.1. 테이블 생성먼저 TIMESTAMP 열의 기본값이 CURRENT_TIMESTAMP로
MySQL에서 두 문자열 비교하기MySQL에서 숫자로 이루어진 두 문자열을 비교하려면 CAST 함수를 사용하여 문자열을 숫자 타입으로 변환한 후 비교하는 것이 좋습니다. 문자열 그대로 비교하면 사전식(lexicographic) 순서로 비교되어 의도와 다른 결과가 나올 수 있기 때문입니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table compareTwoStringsDemo-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> Value v
MySQL에서 UNION을 사용하여 두 개의 테이블을 하나로 병합하려면 CREATE TABLE ... SELECT 문을 활용할 수 있습니다. 이 방법은 기존 테이블들의 데이터를 결합하여 새로운 테이블을 손쉽게 생성해 줍니다.기본 문법create table yourNewTableName select * from yourFirstTableName UNION select * from yourSecondTableName;아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 첫 번째 테이블 생성먼저 첫 번째 테이블을 생성합니다. 다음은
MySQL에서 테이블 전체가 아닌 일부 행(limit으로 지정한 범위)에 대해서만 최솟값(MIN)과 최댓값(MAX)을 구하려면, 서브쿼리를 활용하면 됩니다. 기본 문법은 다음과 같습니다.SELECT MIN(컬럼명) AS 별칭1, MAX(컬럼명) AS 별칭2FROM(SELECT 컬럼명 FROM 테이블명 LIMIT 개수) tbl1;핵심은 내부 서브쿼리에서 LIMIT 절로 원하는 만큼의 행만 먼저 가져온 뒤, 그 결과 집합에 대해 MIN과 MAX 함수를 적용하는 것입니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다.
MySQL에서 테이블의 모든 열 대신 일부 열의 정보만 확인하고 싶다면, SHOW COLUMNS 문에 WHERE 절과 NOT IN 연산자를 함께 사용하면 됩니다. 이 방법은 표시하지 않으려는 열 이름만 지정하면 되기 때문에, 열이 많은 테이블에서 특히 유용합니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성해 보겠습니다. 다음은 학생 정보를 저장하는 테이블을 만드는 쿼리입니다.mysql> create table student_Information-> (-> StudentId int NOT NULL AUTO_I
MySQL에서 복합 고유성 적용이 가능할까?네, 가능합니다. MySQL에서는 UNIQUE 제약 조건에 두 개 이상의 컬럼을 함께 지정함으로써 복합 고유성(Compound Uniqueness)을 적용할 수 있습니다. 이렇게 하면 개별 컬럼의 값이 중복되더라도, 지정된 컬럼들의 조합 전체가 기존 데이터와 동일한 경우에만 삽입이 거부됩니다.개념을 쉽게 이해하기 위해 실제 예제를 통해 단계별로 살펴보겠습니다.1. 복합 UNIQUE 키가 포함된 테이블 생성먼저 학생 이름(StudentName)과 휴대폰 번호(StudentMobileNumbe
MySQL 호스트 열에서 %는 무엇을 의미할까요?MySQL에서 localhost는 같은 머신(로컬 서버)에서만 접속이 가능하다는 것을 의미합니다. 반면 %는 와일드카드 문자로, 원격 호스트(remote host)를 포함한 모든 곳에서 접속이 가능함을 나타냅니다.사용자 비밀번호 변경 문법사용자 비밀번호를 변경하는 기본 문법은 다음과 같습니다.SET PASSWORD FOR 사용자이름@localhost = 새비밀번호;1단계: 현재 사용자와 호스트 확인비밀번호를 변경하기 전에 먼저 MySQL.user 테이블에서 사용자와 호스트 정보를 확인
MySQL에서 단 1비트의 값을 저장하려면 가장 작은 데이터 타입인 BIT(1)를 사용할 수 있습니다. BIT(1)은 정확히 1비트만 저장하므로 참/거짓과 같은 불리언 형태의 값을 효율적으로 다룰 때 유용합니다.BIT(1) 기본 문법yourColumnName bit(1)테이블 생성 예제문법을 실제로 이해하기 위해 간단한 테이블을 만들어 보겠습니다. 아래 쿼리로 테이블을 생성할 수 있습니다.mysql> create table bitDemo-> (-> isValid bit(1)-> );Query OK, 0 rows
MySQL에서 테이블의 마지막 접근 또는 쓰기(수정) 시간을 확인하려면 INFORMATION_SCHEMA.TABLES의 update_time 컬럼을 조회하면 됩니다. 기본 문법은 다음과 같습니다.SELECT update_time FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = yourDatabaseName AND table_name = yourTableName위 문법은 MyISAM 스토리지 엔진을 사용하는 테이블에 대해 마지막 수정 시간 정보를 정상적으로 반환합니다.이번 예제에서는 데이터
일반적으로 CREATE DATABASE 쿼리를 사용하면 간단하게 데이터베이스를 생성할 수 있습니다.기본 문법CREATE DATABASE DatabaseName;JDBC API를 사용하여 데이터베이스를 생성하려면 아래의 네 가지 단계를 순서대로 수행해야 합니다.1. 드라이버 등록DriverManager 클래스의 registerDriver() 메서드를 사용하여 드라이버 클래스를 등록합니다. 이때 매개변수로 드라이버 클래스 이름을 전달합니다.2. 데이터베이스 연결 설정DriverManager 클래스의 getConnection() 메서드를
MySQL에서는 일반적으로 USE 쿼리를 사용하여 현재 작업 중인 데이터베이스를 손쉽게 변경할 수 있습니다. 이 글에서는 JDBC API를 활용해 자바 프로그램 내에서 데이터베이스를 선택하거나 전환하는 방법을 단계별로 살펴보겠습니다.기본 문법MySQL에서 현재 데이터베이스를 변경하는 기본 문법은 다음과 같습니다.USE DatabaseName;JDBC로 데이터베이스를 변경하는 절차JDBC API를 사용해 현재 데이터베이스를 변경하려면 다음 네 가지 단계를 거쳐야 합니다.드라이버 등록: DriverManager 클래스의 register
테이블 A에는 있지만 테이블 B에는 존재하지 않는 데이터를 조회하고 싶다면 LEFT JOIN을 활용하는 것이 가장 일반적이고 효율적인 방법입니다. LEFT JOIN으로 두 테이블을 연결한 뒤, WHERE 절에서 테이블 B의 컬럼이 NULL인 행만 필터링하면 두 테이블 간의 차집합을 손쉽게 구할 수 있습니다.기본 문법select yourTableNameA.* from yourTableNameA left join yourTableNameB on yourTableNameA.yourColumnName = yourTableNameB.your
MySQL에서 테이블 조회 없이 정적(static) 문자열 값을 결과로 반환하고 싶다면 UNION을 활용하는 것이 가장 간단한 방법입니다. 여러 개의 SELECT 문을 UNION으로 연결하면, 각 문자열이 하나의 행(row)으로 출력됩니다.기본 문법정적 문자열을 반환하는 기본적인 문법은 다음과 같습니다.select yourStringValue1 as yourAliasName UNION select yourStringValue2 as yourAliasName;실제 사용 예제위 문법을 실제 쿼리에 적용해 보겠습니다. 두 개의 문자열 H
MySQL에서 IN 절을 사용하면 여러 조건값에 해당하는 레코드를 한 번에 조회할 수 있습니다. 하지만 기본적으로 조회 결과는 IN 절에 나열한 값의 순서를 따르지 않습니다. 만약 IN 절에 지정한 값의 위치 순서 그대로 결과를 가져오고 싶다면 FIND_IN_SET() 함수를 ORDER BY 절과 함께 사용해야 합니다.이 글에서는 실제 예제 테이블을 만들고, IN 절 순서대로 레코드를 정렬하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 직원 정보를 저장할 테이블을 생성합니다.mysql> create table r