[데이터베이스]/[실습] SQLite3

[SQLite 03강] SQLite3 테이블 생성(CREATE)

IT강사-탭탭이 2022. 3. 6. 23:50

2강과 이어 집니다~

2강 실습 후 3강 학습해주세요^^


SQL 응용프로그램을 실행한 후 아래와 같이 실습해주세요

위 그림에 오류 있습니다!!!( number age (x) --> number int (o) )

Parse error: table 테이블명 already exists

오류 발생!

해결 방법은? if not exists

위 그림에 오류 있습니다!!!( number age (x) --> number int (o) )


tData 테이블 생성

id name age
1 aaa 17
2 bbb -
3 ccc -

 

위 테이블 생성 조건으로는 

id는 숫자, name은 문자, age는 숫자 

단, id와 name은 필수 입력 사항이다. age는 선택사항

이 경우 not null 을 사용한다. 

위 쿼리문으로 생성할 경우 

레코드 삽입 시 id, name을 생략할 수 없다.

Runtime error: NOT NULL constraint failed:

name 생략 불가능!!


그런데.... 여기서 문제점이 하나 생긴다.

동일한 id 삽입이 가능합니다.

id name age
1 aaa 17
2 bbb -
3 ccc -
1 aaa 17
1 aaa 17

 

동일한 id 삽입을 거부하기 위해서, 

primary key(기본 키, 고유한 값 찾기) 를 id 로 설정합니다.

기본키란? 고유한 값 (즉, 사람의 primary key는 "주민번호"입니다.)

 

id 는 숫자형이므로, autoincrement 를 사용하여, 자동 증가 하도록 설정해둡니다.

레코드 삽입 시 id를 제외하더라도,

id가 중복 없이 하나씩 증가하여 값을 저장합니다.

 

autoincrement

 

Runtime error: UNIQUE constraint failed:

3번을 인해 에러 발생!