🦁

pythonでデータベースを使う

2022/04/16に公開

検証動画

https://www.youtube.com/watch?v=kVXuyVkcXwU

ライブラリをインポート

import sqlite3

データベースを作成・保存

データベースのファイル名を決め、接続する。
データベースがなければ作成する

filename = ('stock.db')
conn = sqlite3.connect(filename, isolation_level=None)

テーブルを作成してみましょう

executeでテーブルをどうするのか指示を出します
CREATE TABLE :というテーブル作成

import sqlite3
DB = ('stock.db')
conn = sqlite3.connect(DB, isolation_level=None)

cursor = conn.cursor()
sql = """CREATE TABLE stock(id int, name text,price int, dividend int)"""
cursor.execute(sql)
conn.commit()
conn.close()

テーブルの値を挿入する

INSERT INTO ** VALUES:**というテーブルに値を挿入する

import sqlite3
DB = ('stock.db')
conn = sqlite3.connect(DB, isolation_level=None)

cursor = conn.cursor()
cursor.execute("INSERT INTO stock VALUES (8591,'Orix',2338,86)")
cursor.execute("INSERT INTO stock VALUES (3244,'Samty',2078,90)")
conn.commit()
conn.close()

保存したテーブル情報を参照してみましょう

stockから全レコードを取得する。
SELECTの後に列名を記入することで、1列のみも取得できる

import sqlite3
DB = ('stock.db')
conn = sqlite3.connect(DB, isolation_level=None)

cursor = conn.cursor()
sql = """SELECT * FROM stock"""
cursor.execute(sql)
print(cursor.fetchall())
conn.close()

テーブル名の変更

ALTER TABLE A RENAME TO B:Aというテーブル名からBというテーブル名に変更

import sqlite3
DB = ('stock.db')
conn = sqlite3.connect(DB, isolation_level=None)

cursor = conn.cursor()

sql = """ALTER TABLE stock RENAME TO newStock"""

conn.execute(sql)
conn.commit()
conn.close()

データベース情報をpandas形式に変更

import pandas as pd
import sqlite3

DB = ('stock.db')
conn = sqlite3.connect(DB, isolation_level=None)

df = pd.read_sql('SELECT * FROM stock', conn)
print(df.head())

conn.close()

Discussion