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

MySQL

  1. TIMESTAMP DEFAULT CURRENT_TIMESTAMP로 열을 선언한 후 아무 값도 삽입하지 않으면 어떻게 될까?

    MySQL에서 열을 TIMESTAMP DEFAULT CURRENT_TIMESTAMP로 선언하면, 해당 열에 아무 값도 삽입하지 않았을 때 현재 타임스탬프(현재 날짜와 시간)가 자동으로 저장됩니다. 실제 예제를 통해 확인해 보겠습니다.1. 테이블 생성하기먼저 DEFAULT CURRENT_TIMESTAMP 옵션이 적용된 테이블을 생성합니다.mysql> create table DemoTable ( ArrivalDate timestamp default CURRENT_TIMESTAMP ); Query OK, 0 rows affe

  2. MySQL에서 한 테이블의 일부 레코드만 다른 테이블로 삽입하는 단일 쿼리 방법

    MySQL에서는 INSERT INTO ... SELECT 구문을 활용하면 하나의 쿼리만으로 첫 번째 테이블의 데이터를 두 번째 테이블에 삽입할 수 있습니다. 특히 전체 레코드가 아닌 특정 조건에 맞는 레코드만 옮기고 싶을 때 매우 유용합니다.기본 문법아래와 같이 SELECT 서브쿼리를 포함한 INSERT 문을 사용하면 됩니다.INSERT INTO yourTableName2(yourColumnName1, yourColumnName2, .....N)SELECT yourColumnName1, yourColumnName2, ....N FR

  3. MySQL 테이블에서 임의의 행 표시하는 방법 – RAND()와 LIMIT 활용하기

    MySQL 테이블에서 임의의 행 하나만 표시하기 MySQL 테이블에서 무작위로 선택된 단일 행을 가져오려면 RAND() 함수와 LIMIT 절을 함께 사용하면 됩니다. LIMIT는 가져올 레코드 수를 지정하는 역할을 하며, 여기서는 한 개의 행만 필요하므로 LIMIT 1을 사용합니다. 1. 테이블 생성 먼저 예제에 사용할 테이블을 생성해 보겠습니다. mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(50),

  4. MySQL에서 WHERE 절에 SUM() 함수를 쓸 수 없는 이유와 HAVING 절 활용법

    MySQL에서는 집계 함수인 SUM()의 결과를 WHERE 절에서 직접 사용할 수 없습니다. 대신 HAVING 절을 사용해야 합니다. 그 이유는 WHERE 절이 그룹화가 이루어지기 전에 행 단위로 필터링하는 반면, HAVING 절은 GROUP BY로 그룹화된 이후의 집계 결과에 대해 조건을 적용하기 때문입니다.아래 예제를 통해 실제 동작 방식을 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Name varchar(50), Price

  5. MySQL REPLACE() 함수로 중복 레코드를 새 값으로 교체하는 방법

    MySQL에서 특정 값의 모든 레코드를 새 이름으로 교체하기MySQL에서는 UPDATE 문과 REPLACE() 함수를 함께 사용하면 특정 문자열이 포함된 레코드를 한 번에 새 값으로 교체할 수 있습니다. 예를 들어 테이블에 Chris라는 이름이 여러 번 중복되어 저장되어 있을 때, 이를 Adam Smith로 일괄 변경하는 방법을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT

  6. MySQL REGEXP로 '99S', '50K' 같은 숫자+문자 조합 레코드 조회하는 방법

    MySQL에서 99S, 10M처럼 숫자 두 개 + 대문자 한 개 형태로 구성된 레코드를 조회하고 싶다면, 가장 간단한 방법은 REGEXP(정규 표현식)를 활용하는 것입니다.이 글에서는 실제 예제를 통해 숫자와 문자가 결합된 특정 패턴의 데이터를 손쉽게 필터링하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable ( Id varchar(50) ); Query OK, 0 rows affected (0.77 sec)2. 샘플 데이터 삽입I

  7. MySQL에서 동일한 Id를 가진 행을 병합하고 각 열의 최댓값 표시하기

    MySQL에서 동일한 Id를 가진 여러 행을 하나로 병합하고, 나머지 열들에서는 각각 가장 큰 값을 추출해야 하는 경우가 종종 있습니다. 이럴 때는 집계 함수 MAX()와 GROUP BY 절을 함께 사용하면 간단하게 해결할 수 있습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int, Value1 int, Value2 int, Value3 int, Value4 int ); Query OK, 0 rows affecte

  8. MySQL에서 두 테이블 간 공통 ID 레코드 조회하는 방법

    MySQL 두 테이블에서 일치하는 ID 레코드 가져오기MySQL에서 서로 다른 두 테이블에 동일한 ID가 존재하는 레코드만 추출해야 하는 경우가 자주 있습니다. 이럴 때 IN 연산자와 서브쿼리를 활용하면 간단하게 해결할 수 있습니다. 이번 글에서는 실제 예제를 통해 두 테이블에서 공통된 ID를 가진 레코드를 조회하는 방법을 단계별로 살펴보겠습니다.1단계: 첫 번째 테이블 생성하기먼저 첫 번째 테이블을 생성합니다.mysql> create table DemoTable1(   Id int);Query OK, 0 r

  9. MySQL ORDER BY IF()로 조건에 따라 레코드 정렬하는 방법

    MySQL에서 특정 조건에 따라 레코드를 정렬하고 싶다면 ORDER BY IF() 구문을 활용할 수 있습니다. 이 방법을 사용하면 조건에 해당하는 행을 맨 뒤로 보내거나 우선적으로 배치하는 등 유연한 정렬이 가능합니다. 아래 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Name varchar(50), Score int ); Query OK, 0 rows affected (0.72 sec)2. 샘플 데이터 삽

  10. MySQL에서 CHAR(1) 컬럼에 NULL 값 삽입하는 방법

    MySQL에서 CHAR(1) 컬럼에 NULL 값 삽입하기MySQL에서 CHAR(1) 타입의 컬럼에 NULL 값을 삽입하려면, 해당 컬럼을 NULL을 허용하도록 선언해야 합니다. 또한 sql_mode를 STRICT_TRANS_TABLES로 설정해 두면 유효하지 않은 값이 입력될 때 경고가 발생하여 데이터 무결성을 더욱 엄격하게 관리할 수 있습니다.1. 테이블 생성먼저 아래와 같이 테이블을 생성해 보겠습니다. Gender 컬럼은 char(1) NULL로 선언되어 NULL 값을 저장할 수 있습니다.mysql> create table

  11. MySQL에서 현재 날짜 기준 최근 14주 이내의 날짜 레코드를 조회하는 방법

    현재 날짜를 기준으로 특정 기간(예: 14주) 내의 날짜 레코드를 조회하려면 BETWEEN 키워드와 함께 DATE_SUB(), CURDATE() 함수를 사용하면 됩니다.실제 동작 과정을 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable(    ArrivalDate date);Query OK, 0 rows affected (0.93 sec)2. 샘플 데이터 삽입하기현재 날짜가 2019-08-31이라고 가

  12. MySQL 테이블에서 단일 열만 업데이트하고 조건에 따라 값 증가시키기

    MySQL에서 조건에 따라 특정 열의 값을 증가시키는 방법MySQL에서 UPDATE 문을 사용하면 테이블의 다른 열은 그대로 둔 채 단일 열만 선택적으로 수정할 수 있습니다. WHERE 절과 함께 활용하면 특정 조건을 만족하는 행에 대해서만 값을 증가시키는 것도 가능합니다. 이번 글에서는 실제 예제를 통해 그 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제로 사용할 테이블을 생성합니다. 이름(Name)과 점수(Score) 두 개의 열을 가진 간단한 테이블입니다.mysql> create table DemoTable(

  13. MySQL에서 조건부 GROUP BY를 활용해 그룹별 최고 점수 조회하는 방법

    개요MySQL에서 GROUP BY 절은 특정 컬럼을 기준으로 데이터를 그룹화할 때 사용됩니다. 이 문서에서는 조건부 GROUP BY를 활용하여 중복된 학생 이름 중 각 학생의 최고 점수만 조회하는 방법을 예제와 함께 단계별로 살펴보겠습니다.1단계: 테이블 생성하기먼저 데모용 테이블을 생성합니다.mysql> create table DemoTable ( StudentName varchar(40), StudentMarks int ); Query OK, 0 rows affected (0.64 sec)위 쿼리는 학생 이름

  14. MySQL에서 특수 문자가 포함된 문자열을 조회하는 방법

    MySQL에서 데이터를 다루다 보면 아포스트로피()와 같은 특수 문자가 포함된 문자열을 검색해야 하는 경우가 있습니다. 이럴 때는 REPLACE() 함수와 LIKE 연산자를 조합하면 간단하게 해결할 수 있습니다. 예제를 통해 단계별로 살펴보겠습니다.1. 테이블 생성먼저 실습에 사용할 테이블을 생성합니다.mysql> create table DemoTable (     Title text ); Query OK, 0 rows affected (0.66 sec)2. 샘플 데이터 삽입insert 명령

  15. MySQL CREATE 문에서 KEY 키워드 완벽 이해하기

    MySQL에서 KEY 키워드란? MySQL 공식 문서에서는 KEY 키워드에 대해 다음과 같이 설명하고 있습니다. KEY는 일반적으로 INDEX의 동의어(synonym)입니다. 또한 컬럼 정의(column definition) 시 PRIMARY KEY 속성은 단순히 KEY라고만 지정할 수도 있으며, 이는 다른 데이터베이스 시스템과의 호환성을 위해 구현된 기능입니다. 즉, KEY와 INDEX는 MySQL에서 사실상 같은 의미로 사용되므로, 상황에 맞게 편한 쪽을 선택해 사용하면 됩니다. 예제 테이블 생성하기 먼저 예제로 사용할 테이블

  16. MySQL에서 가장 높은 ID를 가진 행만 조회하는 방법

    MySQL 테이블에서 가장 큰 ID 값을 가진 행을 조회하려면 ORDER BY DESC 절과 LIMIT 1을 함께 사용하면 됩니다. ID를 내림차순으로 정렬한 뒤 첫 번째 행 하나만 가져오는 방식으로, 결과적으로 최대 ID를 가진 행이 반환됩니다.예제 테이블 생성하기먼저 실습에 사용할 테이블을 만들어 보겠습니다.mysql> create table DemoTable ( Id int, FirstName varchar(50) ); Query OK, 0 rows affected (0.83 sec)데이터 삽입하기INSER

  17. MySQL에서 BIGINT 타입 전화번호 열의 고유 전화번호 개수 구하기

    MySQL에서 BIGINT 타입으로 선언된 전화번호 열에서 고유한 전화번호의 개수를 구하려면 COUNT() 함수와 DISTINCT 키워드를 함께 사용하면 됩니다. COUNT()는 레코드의 개수를 세는 집계 함수이며, DISTINCT는 중복을 제거한 고유한 값만 대상으로 삼습니다. 두 가지를 조합하면 중복 없이 실제 고유 전화번호가 몇 개 존재하는지 손쉽게 확인할 수 있습니다.예제 테이블 생성먼저 BIGINT 타입의 PhoneNumber 컬럼을 가진 테이블을 생성해 보겠습니다.mysql> create table DemoTable

  18. MySQL 단일 쿼리에서 세 가지 조건을 활용해 학생 ID·이름·나이로 특정 학생 레코드 조회하는 방법

    MySQL에서 AND 연산자를 사용하면 하나의 SELECT 쿼리 안에 여러 조건을 결합할 수 있습니다. 이번 글에서는 학생 ID(StudentId), 이름(StudentName), 나이(StudentAge)라는 세 가지 조건을 동시에 만족하는 특정 학생 레코드를 조회하는 방법을 예제와 함께 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, St

  19. MySQL GROUP BY와 COUNT로 각 FileID별 항목 개수 집계하기

    개요MySQL에서 테이블에 저장된 데이터를 분석할 때, 특정 컬럼 값별로 레코드가 몇 번 등장하는지 집계해야 하는 경우가 자주 있습니다. 이번 글에서는 Id와 FileID 컬럼을 가진 테이블에서 각 FileID별 항목 개수를 구하는 쿼리를 예제와 함께 살펴보겠습니다.1. 테이블 생성먼저 예제에 사용할 테이블을 생성합니다.mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FileID int ) AUTO_INCREMENT=100;

  20. MySQL AUTO_INCREMENT 시작 값 변경 방법 – 기본값 1 대신 원하는 숫자부터 시작하기

    MySQL AUTO_INCREMENT의 시작 값은 어떻게 정해질까?MySQL에서 AUTO_INCREMENT 속성은 레코드가 삽입될 때마다 자동으로 고유한 번호를 생성해 주는 기능입니다. 별도의 설정을 하지 않으면 기본적으로 1부터 시작합니다.하지만 경우에 따라 1이 아닌 다른 숫자부터 번호를 매기고 싶을 수 있습니다. 이때는 두 가지 방법을 사용할 수 있습니다.테이블 생성 시점에 시작 값을 지정하는 방법ALTER 명령어로 기존 테이블의 AUTO_INCREMENT 값을 변경하는 방법아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.1

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:59/229  20-컴퓨터/Page Goto:1 53 54 55 56 57 58 59 60 61 62 63 64 65