본문 바로가기
SQL

SQL AUTO INCREMENT 구문

by 진격의 파파 2013. 9. 25.
반응형

 

 

안녕하세요!! 

이번에 포스팅할 내용은 AUTO INCREMENT 구문입니다.

 

테이블을 만들때 주로 고유 번호를 생성하는데 사용됩니다.

AUTO INCREMENT 를 사용하면 레코드의 값이 중복되지 않고 1씩 자동 증가하게 됩니다. 특히 가장 많이 사용되는 곳은 테이블 제일 첫 칼럼입니다. 테이블을 만들때 첫 칼럼은 거의 대부분 테이블 레코드에 대한 고유값을 지정하여 사용하기 때문입니다.

 

MySql 구문

CREATE TABLE Member
(
ID int NOT NULL AUTO_INCREMENT,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
// MySql 에서는 위와 같이 AUTO_INCREMENT 언더바를 사용합니다.
기본적으로 시작값은 1이며, 각 새 레코드가 추가 될때마다 1씩 자동증가 합니다.
 
MSSQL 구문
CREATE TABLE Member
(
ID int IDENTITY(1,1) PRIMARY KEY,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)
// MS SQL SERVER 는 자동증가 기능을 위해 IDENTITY 를 사용합니다.
(1,1) 이렇게 되어 있는데 시작값은 1이며 1씩 증가시키라는 뜻이 되겠습니다.
괄호의 앞 숫자는 시작값이며, 뒤 숫자는 증가값이 됩니다.
예를들어 5부터 시작해서 2씩 증가라 하면(5,2) 이렇게 되겠죠.
 
Access 구문
CREATE TABLE Member
(
ID Integer PRIMARY KEY AUTOINCREMENT,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)
// MS Access 구문에서는 AUTOINCREMENT 을 사용합니다.
기본적으로 시작값은 1이며, 1씩 자동증가 합니다.
한가지 팁을 알려드리면 5부터 증가해서 2씩 증가하는 구문은 AUTOINCREMENT (5,2) 입니다.
 
Oracle 구문
사실 오라클은 조금 까다롭습니다. 그냥 함수로 만들어 넣으면 편했을 것을 굳이 우리에게 만들어 사용하라고 하죠.
오라클에 자동증가를 이용하기 위해선 자동증가 필드를 만들어야 합니다.
CREATE SEQUENCE seq_member
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
// seq_member 이라는 시퀀스를 생성하고 1부터 시작하여 1씩 증가시키라는 의미입니다. 또한 빠른 엑세스를 위해서 10까지의 값을 캐쉬합니다.
오늘은 여러가지 일때문에 포스팅이 조금 늦었네요. 어떻게 하루를 잘 보내셨나요.
남은 시간 보람차게 보내시기 바랍니다.
반응형

'SQL' 카테고리의 다른 글

SQL AVG() 구문  (0) 2013.09.30
SQL DATE 함수들  (0) 2013.09.26
SQL ALTER TABLE 구문  (0) 2013.09.24
SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17