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

MySQL

  1. MySQL TRUNCATE와 DROP 명령의 핵심 차이점 완벽 정리

    MySQL TRUNCATE와 DROP의 핵심 차이점MySQL에서 TRUNCATE와 DROP 명령의 가장 중요한 차이점은 다음과 같습니다. TRUNCATE 명령은 테이블에 저장된 모든 데이터를 삭제하지만 테이블의 구조(스키마)는 그대로 유지합니다. 반면 DROP 명령은 테이블의 데이터뿐만 아니라 테이블 구조 자체까지 데이터베이스에서 완전히 제거합니다.또한 TRUNCATE 실행 시 AUTO_INCREMENT로 설정된 PRIMARY KEY 값도 함께 초기화되어, 이후 새로 삽입되는 데이터는 다시 1번부터 번호가 부여됩니다.예제먼저 tes

  2. MySQL DELETE 명령어란? 행 삭제 방법과 예제 총정리

    MySQL의 DELETE 명령은 테이블에서 하나 이상의 행(row)을 삭제할 때 사용하는 명령어입니다. 일반적으로 WHERE 절과 함께 사용되어, 조건에 맞는 특정 행만 선택적으로 제거할 수 있습니다.기본 문법DELETE FROM Table_name WHERE Condition;WHERE 절을 생략하면 테이블의 모든 행이 삭제되므로, 실무에서는 반드시 삭제 조건을 명확히 지정하는 것이 안전합니다.사용 예제아래 예제에서는 employee 테이블에서 id >= 100 조건을 만족하는 모든 행을 삭제하는 과정을 보여줍니다.mysql

  3. MySQL TRUNCATE와 DELETE의 차이점: AUTO_INCREMENT 초기화부터 성능까지

    MySQL에서 TRUNCATE는 테이블 구조를 데이터베이스에 그대로 남겨둔 채 모든 행(row)을 제거하는 명령입니다. DELETE 명령 역시 테이블의 모든 행을 삭제할 수 있기 때문에 겉보기에는 같은 작업을 하는 것처럼 보입니다. 하지만 두 명령 사이에는 PRIMARY KEY AUTO_INCREMENT 값의 재초기화 여부라는 중요한 차이점이 존재합니다. 컬럼이 PRIMARY KEY 제약 조건과 함께 AUTO_INCREMENT로 정의되어 있다면, DELETE 명령으로 모든 행을 삭제하더라도 테이블은 재초기화되지 않습니다. 즉, 이후

  4. MySQL에서 다른 열에 값을 삽입할 때 현재 날짜와 시간을 자동으로 기록하는 방법

    MySQL에서는 특정 열을 DEFAULT CURRENT_TIMESTAMP로 선언해 두면, 다른 열에 데이터를 삽입하는 순간 해당 열에 현재 날짜와 시간이 자동으로 기록됩니다. 이 기능은 레코드의 생성 시각을 추적해야 하는 경우 매우 유용합니다.기본 문법과 테이블 생성 예제아래 예제는 학생 이름을 저장하는 StudentName 열과, 등록 일시를 자동으로 기록하는 RegDate 열로 구성된 testing 테이블을 생성하는 쿼리입니다.mysql> Create table testing-> (-> StudentName va

  5. MySQL은 왜 'INTERVAL 7 DAYS' 대신 'INTERVAL 7 DAY'처럼 단수형 간격을 사용할까요?

    MySQL이 단수형 간격 키워드를 요구하는 이유MySQL의 날짜·시간 연산에서 INTERVAL 단위 키워드가 영어 문법 규칙과 무관하게 반드시 단수형으로 작성되어야 하는 데에는 분명한 이유가 있습니다. MySQL은 내부 파서(parser)가 DAY, HOUR, YEAR 같은 단위 키워드를 고정된 예약어로 처리하기 때문에, 복수형 표현은 문법으로 인식하지 않습니다.따라서 7 DAYS, 2 HOURS처럼 복수형 간격을 지정하려고 하면 MySQL은 다음과 같은 구문 오류(syntax error)를 반환합니다.mysql> SELECT

  6. MySQL INSERT INTO 문에서 열 이름을 생략하고 값을 삽입하는 방법

    INSERT INTO 문에서 열(컬럼) 이름을 지정하지 않고 값을 삽입하려면, 테이블에 정의된 열의 순서 그대로 값들을 나열해야 합니다. 이때 반드시 테이블의 열 개수와 동일한 개수의 값을 제공해야 하며, 각 값의 데이터 타입도 해당 열과 일치하도록 주의해야 합니다. 기본 예제 아래 예제에서는 열 이름을 명시하지 않고 student 테이블에 값을 삽입했습니다. mysql> Insert into student values(100,Gaurav,Ph.D); Query OK, 1 row affected (0.08 sec) mysql

  7. MySQL에서 기존 테이블에 열(컬럼)을 추가하는 방법 – ALTER 명령어 완벽 가이드

    데이터베이스를 운영하다 보면 이미 생성된 테이블에 새로운 열(column)을 추가해야 하는 경우가 자주 발생합니다. MySQL에서는 ALTER 명령어를 사용하면 테이블의 데이터를 삭제하거나 재생성하지 않고도 간단하게 열을 추가할 수 있습니다.기본 문법(Syntax)ALTER TABLE 문에 ADD 절을 사용하여 새로운 열과 해당 데이터 타입을 지정합니다.ALTER TABLE 테이블명 ADD (열이름 데이터타입);사용 예제아래 예제는 Student(학생) 테이블에 문자열 타입의 GRADE(성적) 열을 추가하는 과정입니다.mysql&g

  8. MySQL에서 NULL 값 삽입 시 자동으로 날짜와 시간을 입력하는 방법

    MySQL에서 NULL 삽입 시 현재 날짜와 시간 자동 입력하기MySQL에서는 다른 열에 NULL 값을 삽입할 때 특정 열에 현재 날짜와 시간을 자동으로 기록하도록 설정할 수 있습니다. 방법은 해당 열을 DEFAULT CURRENT_TIMESTAMP로 선언하는 것입니다.단, 이때 주의할 점이 있습니다. NULL 값을 삽입하려는 열은 NOT NULL 제약 조건으로 선언하면 안 됩니다. NOT NULL로 선언된 열에는 NULL 값을 넣을 수 없기 때문입니다.1. 테이블 생성아래 예제처럼 테이블을 생성해 보겠습니다. Name 열은 NOT

  9. MySQL 날짜 열에 2월 30일 같은 유효하지 않은 날짜를 저장하는 방법

    MySQL에서 2월 30일과 같은 날짜 저장하기MySQL 테이블에 2월 30일처럼 실제로 존재하지 않는 날짜를 저장하려면, 먼저 ALLOW_INVALID_DATES 모드를 활성화해야 합니다.기본 상태에서의 오류ALLOW_INVALID_DATES 모드를 활성화하지 않은 상태에서 이러한 날짜를 삽입하려고 하면 MySQL은 다음과 같은 오류를 반환합니다.mysql> Insert into date_testing(date) values(2017-02-30);ERROR 1292 (22007): Incorrect date value: 20

  10. 단일 ALTER 명령으로 MySQL 기존 테이블에 여러 열을 한 번에 추가하는 방법

    MySQL에서는 ALTER 명령을 활용하면 기존 테이블에 여러 개의 열(컬럼)을 단 한 번의 실행으로 동시에 추가할 수 있습니다. 각 열을 개별적으로 추가하는 것보다 작업 시간을 줄일 수 있어 매우 효율적입니다.기본 구문여러 열을 한 번에 추가할 때의 기본 구문은 다음과 같습니다.Alter table table-name ADD (column-name1 datatype, column-name2 datatype,… column-nameN datatype);괄호 안에 추가하고자 하는 열 이름과 해당 데이터 타입을 쉼표(,)로

  11. MySQL 기존 테이블에 기본값(DEFAULT)이 있는 열 추가하는 방법

    ALTER 명령문을 사용하면 기존 테이블에 새로운 열(컬럼)을 추가하면서 동시에 해당 열의 기본값(DEFAULT)까지 함께 지정할 수 있습니다. 이렇게 하면 이후 데이터를 삽입할 때 해당 열에 값이 명시되지 않아도 자동으로 기본값이 입력됩니다.기본 문법기본값이 있는 열을 추가하는 기본적인 문법은 다음과 같습니다.ALTER TABLE table_name ADD (column_name datatype DEFAULT data);table_name : 열을 추가할 대상 테이블의 이름column_name : 새로 추가할 열의 이름dataty

  12. MySQL 테이블 열(컬럼) 수정 방법 – ALTER TABLE MODIFY 키워드 활용 가이드

    MySQL에서 기존 테이블의 열(컬럼)을 수정해야 할 때는 ALTER TABLE 명령어와 MODIFY 키워드를 함께 사용하면 됩니다. 이 조합을 활용하면 컬럼의 데이터 타입이나 크기를 손쉽게 변경할 수 있습니다.기본 문법ALTER TABLE table_name MODIFY column_name1 datatype, MODIFY column_name2 datatype, ... MODIFY column_nameN datatype;여러 개의 컬럼을 한 번에 수정하고 싶다면, 위 문법처럼 MODIFY 절을 쉼표(,)로 구분하여 연속으로 나열

  13. MySQL DATE_FORMAT() 함수로 날짜를 원하는 형식으로 표시하는 방법

    MySQL DATE_FORMAT() 함수로 날짜 형식 변경하기MySQL에서 날짜를 사용자가 지정한 다른 형식으로 표시하려면 DATE_FORMAT() 함수를 사용해야 합니다. 이 함수는 두 개의 인수를 받는데, 첫 번째 인수는 날짜 값이고 두 번째 인수는 형식 문자열(format string)입니다.예시예를 들어 date_testing 테이블에 아래와 같은 형식의 날짜가 세 개 저장되어 있다고 가정해 보겠습니다.mysql> Select * from date_testing; +------------+ | Date |

  14. MySQL 기존 테이블에서 조건에 맞는 데이터만 복사하는 방법

    CTAS와 WHERE 절로 조건부 데이터 복사하기MySQL에서 CTAS(Create Table As Select) 스크립트를 사용하면 기존 테이블의 구조와 데이터를 그대로 복사할 수 있습니다. 하지만 모든 데이터가 아닌 특정 조건에 맞는 데이터만 복사하고 싶다면, CTAS 스크립트에 WHERE 절을 함께 사용해야 합니다.아래 예시를 통해 실제 동작 방식을 확인해 보겠습니다.mysql> Create table EMP_BACKUP2 AS SELECT * from EMPLOYEE WHERE id = 300 AND Name = Moh

  15. MySQL 기존 테이블의 컬럼(열) 목록을 조회하는 방법

    SHOW COLUMNS 문으로 테이블 컬럼 목록 확인하기 기존에 생성해 둔 MySQL 테이블에서 컬럼 이름을 잊어버렸다면 SHOW COLUMNS 문을 사용해 손쉽게 전체 컬럼 목록을 확인할 수 있습니다. 기본 문법은 다음과 같습니다. SHOW COLUMNS FROM 테이블명; 사용 예시 Employee 테이블의 컬럼 정보를 조회하는 예제입니다. mysql> SHOW COLUMNS from Employee\G *************************** 1. row *************************** F

  16. MySQL에서 SHOW COLUMNS 대신 테이블 열 목록을 조회하는 방법: DESCRIBE와 EXPLAIN 활용하기

    네, 기존 테이블의 열(컬럼) 목록을 가져올 때 SHOW COLUMNS 문 대신 DESCRIBE 또는 EXPLAIN 문을 사용할 수 있습니다. 이 두 문장은 SHOW COLUMNS와 완전히 동일한 결과를 반환하므로, 상황에 따라 더 편리한 방식을 선택해 사용하면 됩니다. DESCRIBE와 EXPLAIN의 차이점은 없을까? 결론부터 말하면 두 문장은 동의어입니다. MySQL 공식 문서에서도 DESCRIBE는 EXPLAIN의 동의어(synonym)라고 명시하고 있으며, 실제 실행 결과도 동일하게 출력됩니다. 아래 예제를 통해 Emplo

  17. MySQL에서 이전 달의 마지막 날짜를 구하는 방법

    MySQL에서 이전 달의 마지막 날 구하기MySQL에서는 LAST_DAY() 함수와 INTERVAL 연산을 조합하면 아주 간단하게 이전 달의 마지막 날짜를 구할 수 있습니다.기본 쿼리다음과 같이 NOW()에서 1개월을 빼고, 그 결과에 LAST_DAY() 함수를 적용하면 됩니다.mysql> SELECT LAST_DAY(NOW() - INTERVAL 1 MONTH) AS 지난 달의 마지막 날;+---------------------------+| 지난 달의 마지막 날 |+--------------------------

  18. MySQL에서 다음 달의 마지막 날짜를 구하는 방법

    MySQL에서는 LAST_DAY() 함수와 INTERVAL 표현식을 조합하면 아주 간단하게 다음 달의 마지막 날짜를 구할 수 있습니다. 별도의 복잡한 계산 없이 한 줄의 쿼리로 처리할 수 있다는 점이 큰 장점입니다.기본 쿼리 예제아래 쿼리를 실행하면 현재 날짜를 기준으로 다음 달의 마지막 날이 반환됩니다.mysql> SELECT LAST_DAY(NOW() + INTERVAL 1 MONTH) AS 다음 달의 마지막 날;+------------------------+| 다음 달의 마지막 날 |+-----------------

  19. MySQL에서 '0000-00-00' 날짜의 연도 값은 Year(2) 또는 Year(4) 중 어떤 형식으로 반환될까?

    MySQL 테이블에 날짜 값이 0000-00-00으로 저장되어 있다면, 이러한 날짜에서 연도(year) 값을 추출할 때 MySQL은 0을 반환합니다. 즉, 결과가 Year(2) 또는 Year(4) 형식으로 표현되지 않습니다.이를 쉽게 이해하기 위해 detail_bday 테이블의 다음 데이터를 살펴보겠습니다.mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ |

  20. MySQL INTERVAL 키워드에서 사용할 수 있는 단위 값 총정리

    MySQL의 INTERVAL 키워드는 날짜 및 시간 값에 특정 기간을 더하거나 빼는 데 사용됩니다. 이 키워드와 함께 활용할 수 있는 단위 값은 매우 다양하며, 각 단위는 마이크로초부터 연도까지 폭넓은 시간 범위를 지원합니다.아래에서는 MySQL INTERVAL 키워드와 함께 사용할 수 있는 주요 단위 값들을 예제와 함께 하나씩 살펴보겠습니다.MICROSECOND(마이크로초)MICROSECOND 단위는 현재 시간 또는 사용자가 지정한 시간에 특정 마이크로초를 더하거나 뺄 때 사용합니다.mysql> Select NOW()+INT

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:223/229  20-컴퓨터/Page Goto:1 217 218 219 220 221 222 223 224 225 226 227 228 229