Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 시퀀스를 어떻게 생성하고 사용합니까?

<시간/>

MySQL에서 시퀀스를 생성하기 위해 auto_increment를 컬럼에 사용할 수 있습니다. 값 1에서 시작하여 삽입될 때 각 레코드에 대해 1씩 증가합니다.

먼저 CREATE 테이블을 사용하여 테이블을 생성합니다. 이에 대한 쿼리는 다음과 같습니다 -

mysql> CREATE 테이블 SequenceDemo-> (-> SequenceId int auto_increment,-> 기본 키(SequenceId)-> );쿼리 OK, 영향을 받는 행 0개(1.22초)

테이블을 만든 후 다음과 같이 제공된 삽입 명령을 사용하여 레코드를 삽입할 수 있습니다. -

mysql> INSERT into SequenceDemo values();Query OK, 1행 영향(0.19초)mysql> INSERT into SequenceDemo values();Query OK, 1행 영향(0.14초)mysql> INSERT into SequenceDemo values(); 쿼리 OK, 1개의 행이 영향을 받았습니다(0.10초)mysql> INSERT into SequenceDemo values();Query OK, 1개의 행이 영향을 받았습니다(0.12초)mysql> INSERT into SequenceDemo values();Query OK, 1개의 행이 영향을 받았습니다(0.09초) 

레코드를 삽입한 후 다음과 같이 주어진 select 문을 사용하여 레코드를 표시할 수 있습니다. -

mysql> SELECT * from SequenceDemo;

다음은 얻은 출력입니다 -

+------------+| 시퀀스 ID |+------------+| 1 || 2 || 3 || 4 || 5 |+------------+5행 세트(0.00초)

순서는 alter 명령을 사용하여 설정할 수 있습니다. 이에 대한 구문은 다음과 같습니다. -

변경 테이블 yourTableName auto_increment=Somevalue;

이제 위의 구문은 다음 쿼리에서 다음과 같이 시퀀스 값을 설정하는 데 사용됩니다. -

mysql> alter table SequenceDemo auto_increment =500;Query OK, 영향을 받는 행 0개(0.17초) 레코드:0 중복:0 경고:0

그런 다음 테이블의 값 500에서 레코드가 삽입됩니다. 이것은 다음과 같습니다 -

mysql> INSERT into SequenceDemo values();Query OK, 1행 영향(0.15초)mysql> INSERT into SequenceDemo values();Query OK, 1행 영향(0.15초)mysql> INSERT into SequenceDemo values(); 쿼리 확인, 1행 영향(0.05초)

모든 레코드는 다음과 같이 select 문으로 표시할 수 있습니다. -

mysql> SELECT * from SequenceDemo;

출력은 아래와 같습니다.

+------------+| 시퀀스 ID |+------------+| 1 || 2 || 3 || 4 || 5 || 500 || 501 || 502 |+------------+8행 세트(0.00초)

위의 출력에서 ​​볼 수 있듯이 5개의 레코드 이후 시퀀스 ID는 500에서 시작하여 1씩 증가합니다.