코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL Auto Increment

SQL AUTO_INCREMENT: 자동 증가

SQL AUTO_INCREMENT는 테이블에 행이 삽입될 때마다 숫자를 자동으로 증가시키는 기능입니다. 주로 기본 키 열에 사용되어 각 행을 고유하게 식별할 수 있는 값을 자동으로 생성합니다. AUTO_INCREMENT는 숫자 값을 자동으로 생성해주므로, 매번 새로운 행을 삽입할 때 값을 수동으로 입력할 필요가 없습니다.


1. AUTO_INCREMENT 기본 문법

CREATE TABLE 테이블_이름 (
    열_이름 데이터_타입 AUTO_INCREMENT,
    PRIMARY KEY (열_이름)
);

  • 열_이름: 자동으로 증가할 열의 이름.
  • 데이터_타입: 주로 INT(정수형)를 사용합니다.
  • AUTO_INCREMENT: 자동으로 숫자가 증가하도록 설정.
  • PRIMARY KEY: AUTO_INCREMENT 열은 주로 기본 키로 설정됩니다.

2. AUTO_INCREMENT 예제

예제: employees 테이블에서 employee_id 열을 자동 증가로 설정

CREATE TABLE employees (
    employee_id INT AUTO_INCREMENT,
    name VARCHAR(100),
    department VARCHAR(50),
    PRIMARY KEY (employee_id)
);

이 명령은 employees 테이블의 employee_id 열에 AUTO_INCREMENT를 설정하여, 새로운 직원이 추가될 때마다 employee_id 값이 자동으로 증가합니다.


3. AUTO_INCREMENT 값 조회

데이터가 삽입될 때마다 자동으로 증가하는 마지막 값을 조회할 수 있습니다. MySQL에서는 LAST_INSERT_ID() 함수를 사용하여 마지막으로 삽입된 AUTO_INCREMENT 값을 확인할 수 있습니다.

예제: 마지막으로 삽입된 AUTO_INCREMENT 값 조회

SELECT LAST_INSERT_ID();

이 명령은 가장 최근에 AUTO_INCREMENT로 생성된 값을 반환합니다.


4. AUTO_INCREMENT 시작 값 변경

AUTO_INCREMENT의 시작 값을 1이 아닌 다른 값으로 설정할 수도 있습니다. 이 설정은 주로 데이터의 특정 규칙을 적용할 때 사용됩니다.

예제: AUTO_INCREMENT 시작 값을 1000으로 설정

ALTER TABLE employees AUTO_INCREMENT = 1000;

이 명령은 employees 테이블에서 employee_id의 시작 값을 1000으로 설정하여, 새로운 행이 삽입될 때 1000부터 자동 증가하도록 만듭니다.


5. 주의사항

  • AUTO_INCREMENT는 주로 기본 키로 사용됩니다. 테이블에서 행을 고유하게 식별하는 것이 목적입니다.
  • 각 DBMS마다 AUTO_INCREMENT와 유사한 기능이 있지만, 일부는 다른 문법을 사용할 수 있습니다.
    • SQL Server: IDENTITY 사용.
    • PostgreSQL: SERIAL 사용.

6. 요약

  • AUTO_INCREMENT는 주로 기본 키 열에서 자동으로 증가하는 고유한 값을 설정하는 데 사용됩니다.
  • 새로운 행이 추가될 때마다 자동으로 값을 생성하여, 데이터를 관리하는 데 편리함을 제공합니다.
  • ALTER TABLE 문을 통해 AUTO_INCREMENT의 시작 값을 변경할 수 있으며, LAST_INSERT_ID() 함수로 마지막으로 삽입된 값을 조회할 수 있습니다.

copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com