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