일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Depthwise Convolution
- Depthwise Separagle Convolution
- 제약조건
- Next.js
- COUNT
- 수치미분
- sum
- 데이터베이스
- Pointwise Convolution
- 평균
- 미니배치
- 시험데이터
- 오차제곱합
- 밑바닥부터 시작하는 딥러닝
- total
- MIN
- join
- 신경망
- 최댓값
- 학습 구현
- PyQt5
- sqlite3
- 렐루함수
- PYTHON
- sigmoid
- 교차엔트로피오차
- AVG
- next.js 튜토리얼
- 합계
- max
- Today
- Total
우잉's Development
SQLite3_Table 2_제약 조건1 본문
1. PRIMARY KEY 제약조건
CREATE TABLE 테이블명 (컬럼명 PRIMARY KEY, ... )
PRIMARY KEY 제약을 준 컬럼명이 기본 키가 된다. 기본 키는 하나 이상의 컬럼의 조합으로 설정되고, 테이블에 하나만 존재 한다. 기본키가 설정된 컬러에서는 다른 데이터와 중복된 값을 포함할 수 없다.
즉, ① 테이블에 하나만 존재 ② 중복 불가 두가지가 설정이 된다.
user 테이블을 생성하고 데이터를 추가 하는데 id값이 1이 중복되어 error가 발생했다.
여러 컬럼의 조합에 대해 PRIMARY KEY 제약 조건을 설정 하려면 다음과 같이 작성한다.
CREATE TABLE 테이블명 ( 컬럼명1, 컬럼명2, ..., PRIMARY KEY (컬럼명1, 컬럼명2, ... ));
컬럼의 데이터 타입은 INT가 포함 된 경우 모든 INTEGER 타입이 되지만,
일련 번호가 자동적으로 부여되는 것은 컬럼에 INTEGER PRIMARY KEY로 작성한 경우일 뿐이다.
INT PRIMARY KEY와 같이 작성하면 이런 동작하지 않는다.
id값을 (3다음 4가 아닌) 8로 새로운 데이터를 넣고 다시 name만 있는 데이터를 넣으면 아래와 같이 id가 9가 된다.
2. ROWID 참조 및 INTEGER PRIMARY KEY 와 의 관계
ROWID는 테이블에 존재하는 숨겨진 컬럼이다. 테이블에 데이터를 추가 할 때마다 자동으로 ROWID에 값이 설정된다.
그러나 primary key 를 설정하면 아래와 같이 rowid가 primary key를 따라가게된다.
또한 ROWID값을 지정해 줄 수 있다.
3. AUTOINCREMENT 설정 했을 때 값의 할당 규칙
일단 AUTOINCREMENT 설정을 안했을 때를 살펴 보겠습니다.
3개의 데이터를 입력하고 그 중 id =3인 데이터를 삭제했습니다.
그리고 다시 데이터를 insert 하면 id가 그 전 id의 최댓 값인 2 다음 번호 3으로 지정이 됩니다.
다음은 AUTOINCREMENT 를 설정 했을 경우를 살펴 보겠습니다.
AUTOINCREMENT를 설정해주면 위와 같이 실행 했을 때, 지금까지 저장된 수있는 최대 값 (현재 3)에 1을 더한 값이 자동으로 설정되어 4로 저장된다.
그럼 여기서 현재까지 할당된 최대 값을 확인할 수 있는 방법을 알아 보겠습니다.
(AUTOINCREMENT 설정 했을 때만 가능)
'개발 > SQLite3' 카테고리의 다른 글
SQLite3_View 뷰 (0) | 2021.12.29 |
---|---|
SQLite3_Table 2_제약 조건2 (0) | 2021.12.29 |
SQLite3 _ Table 1 (0) | 2021.12.28 |
SQLite 기본 명령어 사용하기 (0) | 2021.12.28 |
SQLite3 설치하기 (0) | 2021.12.28 |