많은 데이터베이스 언어 중 하나인 SQLite은 서버 프로세스가 필요없고 어떤 운영체제에도 실행할수 있으며 비표준형 쿼리를 사용하는 C 라이브러리이다. 기본적으로 파이썬을 다운받을 때 같이 내장되어 있으므로 따로 다운이 필요없다.
1. 데이터베이스 생성하기
1. sqlite3 호출하기
import sqlite3
2. 데이터베이스 파일 연결/ 생성하기
import sqlite3
my_data_base = sqlite3.connect('my_example.db')
파이썬을 실행하면my_example.db
이라는 데이터베이스 파일이 연결되거나 파일이 없었더라면 새로 생성된다.
3. 데이터베이스 작동할 커서 만들기
import sqlite3
my_data_base = sqlite3.connect('my_example.db')
my_cursor=my_data_base.cursor()
우리가 마우스로 버튼을 누르거나 다른 윈도우로 이동하거나 그런 일을 하는 것처럼 데이터베이스 안에서 무언가를 할 때 사용한다.
약간 해리포터 지팡이 같은 느낌 고급마법을 할려면 지팡이가 있어야하는 것처럼.
4. 커서로 실행하기
import sqlite3
my_data_base = sqlite3.connect('my_example.db')
my_cursor=my_data_base.cursor()
my_cursor.execute("CREATE TABLE tablename(colum1 INTEGER PRIMARY KEY)")
my_cursor.execute()
: 어떤 명령을 실행하라는 코드다.
위의 같은 경우는 테이블을 생성하라는 명령어인 CREATE TABLE
을 따움표 안에 사용했다.커서.execute(" CREATE TABLE 테이블이름 (열1 타입 속성)")
이러면 열1이 있는 테이블이름 이라는 테이블이 생성된다.
5. 파일 확인하기
데이터베이스 파일을 그래픽으로 보고 싶다면 여러방법이 있을 테지만 브라우저를 이용하여 볼 수 있다.
DB Browser for SQLite
DB Browser for SQLite The Official home of the DB Browser for SQLite Screenshot What it is DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite. DB4S is for users and dev
sqlitebrowser.org
여러가지 열을 더 만들어보고 브라우저를 열어보자
import sqlite3
my_data_base = sqlite3.connect('my_example.db')
my_cursor=my_data_base.cursor()
my_cursor.execute("CREATE TABLE tablesname (column1 INTEGER PRIMARY KEY, column2 varchar(120) NOT NULL, olumn3 text NOT NULL UNIQUE, column4 FLOAT,column5 text,column6 real)")
세번째 열의 오타도 그대로 반영된 테이블을 볼 수 있다.
6. 테이블에 데이터 작성하기
VALUES 을 이용해 값을 작성하고
commit으로 커밋한다.
import sqlite3
my_data_base = sqlite3.connect('my_example.db')
my_cursor=my_data_base.cursor()
my_cursor.execute("CREATE TABLE 산행 (column1 INTEGER PRIMARY KEY, column2 varchar(120) NOT NULL, olumn3 text NOT NULL UNIQUE, column4 FLOAT,column5 text,column6 real)")
my_cursor.execute("INSERT INTO 산행 VALUES(1,'설악산','공룡능선','9.9','어려움','3')")
my_data_base.commit()
만일 오타가 나서 다시 수정하면 operationaleror가 뜬다 이미 존재하는 테이블이라는 뜻이다.
create명령 줄을 주석 처리해보자
이후에도 이전에 작성했던 코드들은 남아있으므로 중복되지 않게 잘 작성해서 커밋하자.