Python과 SQLite로 실현되는 로컬로 간편한 SQL 환경 작성술
소개
이러한 일로 고민의 당신에게, SQLite라고 하는 DB를 사용해, 로컬로 간단하게 DB를 세워 데이터를 임포트 해 SQL을 발행할 수 있는 방법을 안내합니다.
※텍스트 파일을 임포트하는 방법에 대해서는 이하의 기사에서 소개!
파이썬에서 CSV, TSV 파일을 SQLite로 가져 오는 방법
SQLite는 무엇입니까?
그래! 이 SQLite는 Python을 설치할 때 이미 사용할 수 있습니다.
그래서, 여기에서는 Python을 사용하여 로컬로 간편한 DB를 만들어 SQL을 무제한으로 만드는 방법을 소개합니다!
(아래는 Python3.7이 로컬에 있다고 가정합니다. Python3 시스템이라면 사용할 수 있어야합니다)
기본 사용법
작성부터 액세스까지
우선은 DB의 작성으로부터 액세스, 절단까지의 조작 방법 일람.
connect.pyimport sqlite3
# 接続先となるDBの名前。'/home/user/database.db'といった表現方法も可能。
dbname = 'database.db'
# コネクタ作成。dbnameの名前を持つDBへ接続する。
conn = sqlite3.connect(dbname)
cur = conn.cursor()
# ここから好きなだけクエリを打つ
cur.execute('create table students(id integer, name text);')
# 処理をコミット
conn.commit()
# 接続を切断
conn.close()
DB에 액세스했을 때, 만약 가리키기에 DB파일이 없었을 경우 자동적으로 DB가 작성됩니다.
"DB가 생성된다"는 것은 SQLite용 바이너리 파일이 생성된다는 것을 의미합니다. 즉 접속처가 되는 DB는 단순한 파일이며, 접속처의 표현 방법은 패스로 그 파일의 위치를 표현하는 것이 됩니다.
이것은 파일을 그대로 이동(mv)이나 복제(cp)하면 어디서나 데이터를 운반할 수 있다는 것입니다.
확장자는 무료이지만 여기에서는 관례에서 ".db"를 사용하고 있습니다.
테이블 조작 방법
ctl1.py# CREATE TABLE
cur.execute('create table students(id integer, name text, class text)')
# 列追加
cur.execute('alter table students add column blood_type text')
# 行追加
cur.execute("insert into students values(1, 'Mike', 'Moon', 'B')")
# 連続したレコードの追加
students_data = [(2, 'Bob', 'Song', 'A'),
(3, 'Gonzalez', 'Star', None)]
cur.executemany("insert into students values (?, ?, ?, ?)", students_data)
# テーブル消去
cur.execute("drop table students")
executemany 메소드는 편리합니다. 위의 샘플에서는 튜플이 들어간 1차원 배열입니다만, 2차원 배열에서도 마찬가지로 인서트 할 수 있습니다.
(Python상에서의 처리 결과를 그대로 흘려 넣는데도 사용할 수 있을 것 같다)
ctl2.py# 値の取得方法1
table = cur.execute('select * from students')
data = table.fetchall()
print(data)
# 値の取得方法2
for data in cur.execute('select * from students'):
print(data)
테이블의 데이터를 취득하고 싶을 때는, select한 후에 fetchall()를 합니다. 반복자로도 사용할 수 있습니다.
꺼낸 값은 튜플 혹은 튜플을 요소로 한 배열로 되어 있습니다.
CSV, TSV 파일을 가져오는 방법
아래를 참조하십시오!
파이썬에서 CSV, TSV 파일을 SQLite로 가져 오는 방법
끝.
참고문헌
import sqlite3
# 接続先となるDBの名前。'/home/user/database.db'といった表現方法も可能。
dbname = 'database.db'
# コネクタ作成。dbnameの名前を持つDBへ接続する。
conn = sqlite3.connect(dbname)
cur = conn.cursor()
# ここから好きなだけクエリを打つ
cur.execute('create table students(id integer, name text);')
# 処理をコミット
conn.commit()
# 接続を切断
conn.close()
# CREATE TABLE
cur.execute('create table students(id integer, name text, class text)')
# 列追加
cur.execute('alter table students add column blood_type text')
# 行追加
cur.execute("insert into students values(1, 'Mike', 'Moon', 'B')")
# 連続したレコードの追加
students_data = [(2, 'Bob', 'Song', 'A'),
(3, 'Gonzalez', 'Star', None)]
cur.executemany("insert into students values (?, ?, ?, ?)", students_data)
# テーブル消去
cur.execute("drop table students")
# 値の取得方法1
table = cur.execute('select * from students')
data = table.fetchall()
print(data)
# 値の取得方法2
for data in cur.execute('select * from students'):
print(data)
아래를 참조하십시오!
파이썬에서 CSV, TSV 파일을 SQLite로 가져 오는 방법
끝.
참고문헌
Reference
이 문제에 관하여(Python과 SQLite로 실현되는 로컬로 간편한 SQL 환경 작성술), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mu-tech/items/4cfb22670232b671700d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)