SQL 튜토리얼

SQL 홈 SQL 소개 SQL 구문 SQL 선택 SQL 선택 고유 SQL 어디에 SQL 및, 또는, 아님 SQL 순서 SQL 삽입 SQL Null 값 SQL 업데이트 SQL 삭제 SQL 상위 선택 SQL 최소 및 최대 SQL 개수, 평균, 합계 SQL 좋아요 SQL 와일드카드 SQL 입력 SQL 사이 SQL 별칭 SQL 조인 SQL 내부 조인 SQL 왼쪽 조인 SQL 권한 조인 SQL 전체 조인 SQL 자체 조인 SQL 유니온 SQL 그룹화 기준 SQL SQL 존재 모든 SQL SQL 선택 대상 선택에 SQL 삽입 SQL 케이스 SQL 널 함수 SQL 저장 프로시저 SQL 주석 SQL 연산자

SQL 데이터베이스

SQL DB 생성 SQL 삭제 DB SQL 백업 DB SQL 테이블 생성 SQL 삭제 테이블 SQL 변경 테이블 SQL 제약 조건 SQL이 널이 아님 SQL 고유 SQL 기본 키 SQL 외래 키 SQL 확인 SQL 기본값 SQL 인덱스 SQL 자동 증분 SQL 날짜 SQL 보기 SQL 주입 SQL 호스팅 SQL 데이터 유형

SQL 참조

SQL 키워드 MySQL 함수 SQL 서버 기능 MS 액세스 기능 SQL 빠른 참조

SQL 예제

SQL 예제 SQL 퀴즈 SQL 연습 SQL 인증서

SQL AUTO INCREMENT 필드


자동 증가 필드

자동 증분은 새 레코드가 테이블에 삽입될 때 고유 번호가 자동으로 생성되도록 합니다.

종종 이것은 새 레코드가 삽입될 때마다 자동으로 생성되기를 원하는 기본 키 필드입니다.


MySQL용 구문

다음 SQL 문은 "Persons" 테이블의 자동 증분 기본 키 필드가 되도록 "Personid" 열을 정의합니다.

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL은 AUTO_INCREMENT키워드를 사용하여 자동 증가 기능을 수행합니다.

기본적으로 시작 값 AUTO_INCREMENT은 1이며 새 레코드마다 1씩 증가합니다.

시퀀스가 다른 값으로 시작 되도록 하려면 AUTO_INCREMENT다음 SQL 문을 사용하십시오.

ALTER TABLE Persons AUTO_INCREMENT=100;

"Persons" 테이블에 새 레코드를 삽입하기 위해 "Personid" 열에 대한 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "Personid" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.


SQL Server용 구문

다음 SQL 문은 "Persons" 테이블의 자동 증분 기본 키 필드가 되도록 "Personid" 열을 정의합니다.

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS SQL Server는 IDENTITY키워드를 사용하여 자동 증가 기능을 수행합니다.

위의 예에서 시작 값 IDENTITY은 1이고 새 레코드마다 1씩 증가합니다.

팁: "Personid" 열이 값 10에서 시작하고 5씩 증가하도록 지정하려면 로 변경하십시오 IDENTITY(10,5).

"Persons" 테이블에 새 레코드를 삽입하기 위해 "Personid" 열에 대한 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "Personid" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.



액세스 구문

다음 SQL 문은 "Persons" 테이블의 자동 증분 기본 키 필드가 되도록 "Personid" 열을 정의합니다.

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS Access는 AUTOINCREMENT키워드를 사용하여 자동 증가 기능을 수행합니다.

기본적으로 시작 값 AUTOINCREMENT은 1이며 새 레코드마다 1씩 증가합니다.

팁: "Personid" 열이 값 10에서 시작하고 5씩 증가하도록 지정하려면 자동 증가를 로 변경하십시오 AUTOINCREMENT(10,5).

"Persons" 테이블에 새 레코드를 삽입하기 위해 "Personid" 열에 대한 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "Personid" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.


Oracle용 구문

Oracle에서는 코드가 조금 더 까다롭습니다.

시퀀스 개체를 사용하여 자동 증가 필드를 만들어야 합니다(이 개체는 숫자 시퀀스를 생성함).

다음 CREATE SEQUENCE구문을 사용합니다.

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;

위의 코드는 1부터 시작하여 1씩 증가하는 seq_person이라는 시퀀스 개체를 만듭니다. 또한 성능을 위해 최대 10개의 값을 캐시합니다. 캐시 옵션은 더 빠른 액세스를 위해 메모리에 저장할 시퀀스 값의 수를 지정합니다.

"Persons" 테이블에 새 레코드를 삽입하려면 nextval 함수를 사용해야 합니다(이 함수는 seq_person 시퀀스에서 다음 값을 검색함).

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');

위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "Personid" 열에는 seq_person 시퀀스의 다음 번호가 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.