Pythonによるスクレイピング・機械学習&開発テクニックから。
sqlite3にデータを挿入するところまで。
import sqlite3
dbpath = 'test.sqlite'
conn = sqlite3.connect(dbpath)
cur = conn.cursor()
cur.executescript("""
/* items 手0ブルがすでにあれば削除する*/
DROP TABLE IF EXISTS items;
/* テーブルの作成*/
CREATE TABLE items(item_id INTEGER PRIMARY KEY, name TEXT UNIQUE, price INTEGER);
/* データを挿入*/
INSERT INTO items(name,price) VALUES ("Apple",800);
INSERT INTO items(name,price) VALUES ("Orange",780);
INSERT INTO items(name,price) VALUES ("Banana",430);
""")
#上記の操作をデータベースに反応させる
conn.commit()
#データを抽出sる
cur = conn.cursor()
cur.execute("SELECT name FROM items")
item_list = cur.fetchall()
print("item_list:",item_list) #配列を返す
#1行ずつ表示
for it in item_list:
print(it)
sqlite3に次は複数挿入できるまでのコード
"""
* sqlite3に複数の項目を追加する
* slqでWHERE条件で引き出す
"""
import sqlite3
#データベースに接続
filepath = "test2.sqlite"
conn = sqlite3.connect(filepath)
#手0ブルを作成
cur = conn.cursor()
cur.execute("DROP TABLE IF EXISTS items")
cur.execute(""" CREATE TABLE items (
item_id INTEGER PRIMARY KEY,
name TEXT,
price INTEGER)""")
conn.commit()
#単発でデータを挿入
cur = conn.cursor()
cur.execute(
"INSERT INTO items (name, price) VALUES (?,?)",
("Orange", 520))
conn.commit();
#連続でデータを挿入
cur = conn.cursor()
data = [("Mango",770),("Kiwi",400),("Grape",800)]
cur.executemany(
"INSERT INTO items(name,price) VALUES (?,?)",data
)
conn.commit()
# 400-700円のデータを抽出して表示
cur = conn.cursor()
price_range = (400,700)
cur.execute(
"SELECT * FROM items WHERE price >=? AND price<=?",price_range
)
fr_list = cur.fetchall()
for fr in fr_list:
print(fr)