- [Python]SQLIte3 연결 및 테이블 생성(SQL connection & create table) 목차
python에서 sqlite3를 사용하면서 가장 먼저 든 생각이 테이블이 생성되지 않은 상태를 검색하여
테이블이 없는 경우에만 테이블을 생성해야 하는데 ..어떻게 해야할까 ?
매번 생성을 하면 기존 테이블이 사라지고 같은 이름의 새로운 테이블이 생성되기 때문이다.
CREATE TABLE IF NOT EXISTS projects (
id integer PRIMARY KEY,
name text NOT NULL,
begin_date text,
end_date text
);
테이블 생성 명령을 줄때 IF NOT EXISTS 구문을 추가하면 테이블이 있는 경우에는 테이블을 생성하지 않고
없는 경우에만 테이블을 생성한다.
참고: www.sqlitetutorial.net/sqlite-python/create-tables/
추가적으로
- PRIMARY KEY: id 필드는 테이블내에서 유일한 값을 갖는다(중복된 값을 허용하지 않는다)
- NOT NULL: name 필드는 공백(null)을 허용하지 않는다(무조건 값이 있어야 한다)
- 각 필드에 허용되는 데이터 타입의 종류는
null: 아무 것도 없는 것이다. 무엇인가 꼭 입력이 되어야 하면 'name text NOT NULL' 이런 방식으로 표현한다.
integer: 소숫점이 없는 정수를 나타낸다
real: 실수를 나타낸다. 소숫점이 있는 숫자
text: 하나의 따옴표, 두개의 타옴표로 선언된 문자열을 저장한다. 예) 이름, 날자 등
blob: 모든 종류의 데이터를 저장할 수있는 이진 대형 개체를 나타냅니다. BLOB의 최대 크기는 이론적으로
무제한입니다
참고: www.sqlitetutorial.net/sqlite-data-types/
'python & 라즈베리파이' 카테고리의 다른 글
[python]sqlite3에 다수의 데이터를 한번에 입력(multiple insert in sqlite3) (0) | 2020.10.27 |
---|---|
[python]No module named 'thunder_db.py'; 'thunder_db' is not a package (0) | 2020.10.27 |
[Tkinter]canvas에서 이미지 변경하기(How to update an image on a Canvas?) (0) | 2020.10.26 |
[Python]'StartPage' object has no attribute 'scr_test' (0) | 2020.10.26 |
[Tkinter]이미지를 사진뷰어가 아니라 프레임에 출력하는 방법 (0) | 2020.10.23 |