본문 바로가기

카테고리 없음

[DataBase][SQLite] 간단한 데이터베이스 만들기

많은 데이터베이스 언어 중 하나인 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. 파일 확인하기

데이터베이스 파일을 그래픽으로 보고 싶다면 여러방법이 있을 테지만 브라우저를 이용하여 볼 수 있다.

https://sqlitebrowser.org/

 

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명령 줄을 주석 처리해보자

이후에도 이전에 작성했던 코드들은 남아있으므로 중복되지 않게 잘 작성해서 커밋하자.