AUTO_INCREMENT?
테이블 생성(수정) 시 auto_increment 속성을 부여하면 insert 시 자동으로 1부터 시작해서 1씩 증가하는 값을 반환
primary key 또는 unique 제약조건이 지정된 컬럼만 활용 가능
숫자형색의 데이터 타입에만 활용 가능
insert 작업 시 null 값을 지정하면 자동으로 값이 입력됨
creat table 테이블명
( 컬럼1 int auto_increament primary key,
컬럼2 데이터 타입,
컬럼3 데이터 타입);
-------------------------------------------------
alter table 테이블명 auto_increment=입력값; > 시작값 변경(default =1)
set @@auto_increment_increment=증가값; > 증가값 변경(default =1)
-------------------------------------------------
select last_insert_id(); > 현재 사용 번호 확인
1. 테이블 생성 시 AUTO_INCREMENT 속성 활용
create table stu20
(stu_id int auto_increment primary key,
stu_name varchar(5) not null,
age int check(age>19) );
desc stu20;
alter table stu20 auto_increment=100;
//다음 입력값이 100으로 변경
insert into stu20
values(null, '김00', 29);
//김00의 stu_id가 100 부터 시작함
insert into stu20
values(null, '최00' 3);
//증가값은 그대로이므로 최00의 stu_id는 101
set @@auto_increment_increment=5;
//증가값이 5로 변경
insert into stu20
values(null, '박00',22);
//증가값이 5로 변경 됬으므로 박00의 stu_id는 106
데이터 조작어(DML)
- insert : 삽입
- update : 수정
- delete : 삭제
2. 데이터 삽입 : INSERT
* 데이터 삽입 시 제약조건 유의
* 문자 및 날짜는 작은 따옴표로 묶어서 표현
* 날짜 : 년도-월-일 순서로 작성
insert into members
values(100, '홍길동', '1991-12-30', '학생', '010-1111-1111', '부산 부산진구 00동');
생략된 컬럼에는 null 값이 자동 삽입
3. Error Code : 1364. Field 'birth' doesn't have a default value
-> not null 제약조건이 선언된 컬럼에 값을 생략한 경우
4. Error Code : 1062. Duplicate entry '010-0000-0000' for key 'phone'
-> unique 제약조건이 선언된 컬럼에 중복 값이 삽입된 경우
5. Error Code : 1062. Duplicate entry '101' for key 'PRIMARY'
-> primary key 제약조건이 선언된 컬럼에 중복 값이 삽입된 경우
6. Error Code : 1364. Field 'member_id' doesn't have a default value
-> primary key 제약조건이 선언된 컬럼에 값을 생략한 경우
'STUDY > DATABASE' 카테고리의 다른 글
MySQL - ERD 만들기 (0) | 2022.04.12 |
---|---|
MySQL 문법 (0) | 2022.04.12 |
MySQL 데이터 조회(SELECT) (0) | 2022.04.11 |
MySQL 데이터 조작(UPDATE, DELETE) (0) | 2022.04.11 |
MySQL DB생성 및 테이블 생성 (0) | 2022.04.11 |