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

MySQL

  1. MySQL에서 AUTO_INCREMENT 테이블에 INSERT INTO SELECT로 데이터 삽입하기

    MySQL에서 AUTO_INCREMENT가 설정된 컬럼을 가진 테이블에 INSERT INTO ... SELECT 구문을 활용하면, 다른 쿼리의 결과값을 그대로 새 레코드로 삽입할 수 있습니다. 아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다. 1. AUTO_INCREMENT 테이블 생성 먼저 UserId 컬럼에 자동 증가(AUTO_INCREMENT) 속성과 기본 키(PRIMARY KEY)를 지정한 테이블을 생성합니다. mysql> create table DemoTable1923 ( UserId int

  2. MySQL에서 '10/12/2010' 형식 날짜의 특정 연도를 기준으로 레코드 업데이트하기

    날짜가 10/12/2010처럼 문자열로 저장된 경우, 특정 연도에 해당하는 레코드만 골라서 업데이트하려면 STR_TO_DATE() 함수와 YEAR() 함수를 함께 사용하면 됩니다.먼저 전체 구문은 다음과 같습니다.update yourTableName set yourColumnName1=yourValue1 where YEAR(str_to_date(yourColumnName2,%d/%m/%Y))=yourValue2;여기서 STR_TO_DATE()는 %d/%m/%Y 형식(일/월/년)으로 저장된 문자열을 실제 DATE 값으로 변환하고, Y

  3. MySQL에서 CASE 문으로 조건에 따라 특정 열 값을 업데이트하는 방법

    조건에 따라 열의 값을 서로 바꾸거나 변경해야 할 때는 UPDATE 명령과 CASE 문을 함께 사용하면 됩니다. 이 방법을 단계별로 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1925 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affected (0.00

  4. MySQL에서 특정 행은 무작위로 정렬하고 나머지는 기준에 따라 정렬하는 방법

    ORDER BY와 CASE를 활용한 혼합 정렬 방법데이터베이스 작업을 하다 보면 특정 그룹의 행은 무작위(RANDOM) 순서로 표시하고, 나머지 행은 지정한 기준에 따라 정렬해야 하는 경우가 있습니다. 이럴 때 ORDER BY 절과 CASE 문을 함께 사용하면 손쉽게 해결할 수 있습니다.1. 예제 테이블 생성하기먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable1926   (   Position varchar(20),   Number

  5. MySQL에서 하나의 쿼리로 두 개의 컬럼 동시에 업데이트하는 방법

    MySQL에서 두 개의 컬럼(열) 값을 동시에 업데이트할 때는 SET 명령을 한 번만 사용하면 됩니다. UPDATE 문의 SET 절 뒤에 여러 컬럼을 쉼표(,)로 구분하여 나열하면, 쿼리를 여러 번 실행하지 않고도 한 번에 처리할 수 있습니다.실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1909 ( Id int NOT NULL, FirstName varchar(20), LastName varc

  6. MySQL에서 데이터베이스 목록을 반환하는 방법

    MySQL에서 데이터베이스 목록 조회하기MySQL 서버에 생성된 모든 데이터베이스의 목록을 확인하고 싶다면 information_schema.schemata 테이블을 활용하면 됩니다. 이 테이블에는 현재 MySQL 인스턴스에 존재하는 모든 스키마(데이터베이스)의 정보가 저장되어 있습니다.기본 문법데이터베이스 목록을 반환하는 기본적인 문법은 다음과 같습니다.select schema_name as 별칭 from information_schema.schemata;여기서 schema_name 컬럼은 각 데이터베이스의 이름을 담고 있으며,

  7. MySQL에서 CASE WHEN 문으로 조건별 카운트 수행하기

    MySQL에서 CASE WHEN 문으로 조건별 카운트 수행하기MySQL에서 특정 조건을 만족하는 행의 개수를 집계해야 할 때 CASE WHEN 문과 SUM() 또는 COUNT() 함수를 함께 사용하면 효율적으로 처리할 수 있습니다. 이번 글에서는 실제 예제를 통해 조건별 카운트 쿼리를 작성하는 방법을 단계별로 살펴보겠습니다.1. 샘플 테이블 생성먼저 이름과 점수를 저장할 테이블을 생성합니다.mysql> create table DemoTable1910    (   &

  8. MySQL에서 특정 사용자의 로그인 시간을 업데이트하는 방법 – ORDER BY와 LIMIT 활용하기

    MySQL에서 여러 레코드 중 특정 사용자의 로그인 시간만 업데이트하려면 UPDATE 문에 ORDER BY 절과 LIMIT 절을 함께 사용하면 됩니다. 이 방법은 동일한 조건에 해당하는 여러 행 중에서 우선순위가 가장 높은(예: UserId가 가장 큰) 행 하나만 선택적으로 수정할 때 유용합니다.1. 예제 테이블 생성하기먼저 사용자 ID(UserId), 로그인 시간(UserLoggedInTime), 사용자 이름(UserName) 세 개의 컬럼을 가진 테이블을 생성해 보겠습니다.mysql> create table DemoTabl

  9. MySQL에서 열 값 앞에 000을 채우는 방법 (ZEROFILL 활용법)

    MySQL에서 열 값에 000을 추가하는 방법MySQL에서 숫자 값 앞에 000을 채워 고정된 자릿수로 표시하려면 ZEROFILL 속성을 사용하면 됩니다. ZEROFILL은 열에 설정된 표시 폭(display width)보다 자릿수가 부족할 때, 남는 공간을 자동으로 0으로 채워주는 기능입니다.먼저 예제 테이블을 생성해 보겠습니다.mysql> create table DemoTable1913    (    Code int(4) ZEROFILL AUTO_INC

  10. MySQL에서 특수 문자가 포함된 특정 값을 찾아 NULL로 변경하는 방법

    MySQL에서 특정 값을 찾아 NULL로 변경하는 방법MySQL에서 테이블에 저장된 특정 값(숫자와 밑줄(_) 등 특수 문자가 섞인 값 포함)을 찾아 NULL로 바꾸려면 UPDATE 문에 SET 컬럼명 = NULL을 조합하면 됩니다. WHERE 절에 조건을 지정하면 원하는 값만 정확히 골라서 NULL 처리할 수 있습니다.기본 구문update yourTableNameset yourColumnName=NULLwhere yourColumnName=yourValue;그럼 실제 예제를 통해 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저

  11. MySQL에서 NOT NULL 값에 대해 1을 반환하는 방법 – IF() 함수 활용법

    MySQL에서 NOT NULL 여부를 확인하고 1 또는 0으로 표시하기MySQL에서 특정 값이 NOT NULL인지 확인한 후, 조건에 따라 1 또는 0을 반환하려면 IS NOT NULL 연산자와 IF() 함수를 함께 사용하면 됩니다.기본 문법기본적인 문법은 다음과 같습니다.select if(값 is not NULL, 1, 0) as 별칭이름;실제로 동작하는 쿼리 예시입니다.mysql> select if( is not NULL,1,0);위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다. 빈 문자열()은 NULL이 아니므로 결과로

  12. MySQL CASE 문으로 학생 성적 결과에 대한 사용자 정의 메시지 설정하기

    개요학생의 점수에 따라 맞춤형 메시지를 표시하고 싶다면 MySQL의 CASE 문을 활용하면 됩니다. CASE 문은 조건을 평가하여 조건에 맞는 값을 반환하는 강력한 도구로, 성적 처리나 등급 분류처럼 조건별로 다른 결과를 보여줘야 하는 상황에서 매우 유용합니다.이번 글에서는 예제 테이블을 만들고, 데이터를 삽입한 뒤, CASE 문을 사용해 학생 점수에 따라 Good Marks(좋은 점수) 또는 Not Good Marks(좋지 않은 점수)라는 사용자 정의 메시지를 출력하는 방법을 단계별로 살펴보겠습니다.1단계: 테이블 생성하기먼저 M

  13. MySQL에서 첫 번째와 마지막 행을 제외한 나머지 행 조회하기

    개요MySQL에서 테이블의 첫 번째 행과 마지막 행을 제외한 나머지 모든 행을 조회하려면 서브쿼리와 함께 MIN(), MAX() 함수를 사용하면 됩니다. 이 글에서는 예제 테이블을 직접 만들어 보면서 단계별로 쿼리를 작성하는 방법을 살펴보겠습니다.1. 예제 테이블 생성먼저 아래와 같이 학생 정보를 저장할 테이블을 생성합니다.mysql> create table DemoTable1917 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentCode int,

  14. MySQL에서 테이블에 존재하지 않는 값만 조회하는 방법 – UNION ALL과 NOT EXISTS 활용하기

    MySQL에서 특정 값들이 이미 테이블에 저장되어 있는지 확인하고, 테이블에 존재하지 않는 값만 조회해야 하는 경우가 있습니다. 이럴 때는 UNION ALL로 조회하고자 하는 값들을 가상의 목록으로 만들고, WHERE NOT EXISTS 조건을 사용해 이미 테이블에 있는 값은 제외하면 됩니다.핵심 개념 정리이 기법의 동작 원리는 다음과 같습니다.UNION ALL: 여러 개의 SELECT 결과를 하나로 합쳐서 임시 파생 테이블(derived table)을 생성합니다. 여기서는 확인하고 싶은 값들을 나열하는 용도로 사용됩니다.NOT E

  15. MySQL에서 숫자 사용자 정의 변수를 활용한 ORDER BY 정렬 방법

    MySQL에서는 사용자 정의 변수와 PREPARE 문을 조합하면 ORDER BY 절에 동적인 값을 적용할 수 있습니다. 이번 글에서는 숫자형 사용자 정의 변수를 활용해 쿼리를 동적으로 구성하고 실행하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1898 ( Number int ); Query OK, 0 rows affected (0.00 sec)2. 데이터 삽입하기INSERT 명령어를 사용해 몇 개의 레코드를

  16. MySQL 열(컬럼)에서 특정 문자를 교체하는 방법 – REPLACE()와 UPDATE 완벽 가이드

    MySQL에서 열(컬럼)에 저장된 특정 문자를 다른 문자로 바꾸려면 REPLACE() 함수를 사용하고, 실제 데이터를 변경하려면 UPDATE 문과 함께 실행하면 됩니다.1. 기본 문법UPDATE 테이블명 SET 컬럼명 = REPLACE(컬럼명, 찾을 문자, 바꿀 문자);이제 실제 예제를 통해 단계별로 살펴보겠습니다.2. 샘플 테이블 생성먼저 테스트용 테이블을 생성합니다.mysql> create table DemoTable1899 ( Code varchar(20) ); Query OK, 0 rows affe

  17. MySQL에서 열 구조가 다른 테이블로 레코드 복사하기 – INSERT INTO SELECT 완벽 가이드

    MySQL에서 한 테이블의 데이터를 열 이름이나 구조가 다른 다른 테이블로 복사해야 하는 경우가 자주 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 INSERT INTO ... SELECT 문입니다.INSERT INTO SELECT 문은 SELECT 쿼리의 결과를 그대로 다른 테이블에 삽입할 수 있게 해주며, 원본 테이블과 대상 테이블의 열 이름이 달라도 열 순서만 올바르게 매핑하면 손쉽게 데이터를 복사할 수 있습니다.아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.1단계: 첫 번째 테이블 생성먼저 클라이언트 정

  18. MySQL에서 쉼표로 구분된 값 사이의 특정 문자열을 검색하는 방법 (REGEXP 활용)

    MySQL에서 쉼표로 구분된 값 내에서 특정 문자열 찾기쉼표(,)로 구분된 여러 값이 하나의 컬럼에 저장되어 있을 때, 그중 특정 문자열과 정확히 일치하는 행만 조회하고 싶다면 REGEXP 연산자를 사용하면 됩니다. 단순 LIKE 검색은 부분 일치까지 포함해버릴 수 있기 때문에, 정규 표현식으로 경계를 명확히 지정하는 것이 안전합니다.예제를 통해 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 만듭니다.mysql> create table DemoTable1902 ( Subjects text );

  19. MySQL에서 UPDATE 문으로 None 값을 N/A로 변경하는 방법

    개요데이터베이스를 운영하다 보면 특정 열에 저장된 값을 일괄적으로 변경해야 하는 경우가 자주 발생합니다. 예를 들어, 누락된 정보를 임시로 None으로 저장해 두었다가 나중에 N/A로 정리하고 싶을 수 있습니다. 이 글에서는 MySQL의 UPDATE 문과 WHERE 절을 활용해 None 값을 N/A로 변경하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable1903    (  &nb

  20. JDBC PreparedStatement로 MySQL 백슬래시 이스케이프 처리하는 방법

    JDBC에서 백슬래시 이스케이프 처리하기MySQL에 특수 문자나 백슬래시(\)가 포함된 데이터를 안전하게 삽입하려면 PreparedStatement를 사용하는 것이 가장 확실한 방법입니다. PreparedStatement는 SQL 쿼리와 파라미터를 분리해서 전달하기 때문에 백슬래시나 작은따옴표() 같은 특수 문자를 자동으로 이스케이프 처리해 주며, SQL 인젝션 공격까지 예방할 수 있습니다.1단계: 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable1904  

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:20/229  20-컴퓨터/Page Goto:1 14 15 16 17 18 19 20 21 22 23 24 25 26