Closed2

pythonでsqlite3

みたらしだんごみたらしだんご
import sqlite3

#DB作成(あればDBに接続)
dbname = 'test.db'
conn = sqlite3.connect(dbname)

#カーソル作成
cur = conn.cursor()

#テーブル作成
cur.execute(
'CREATE TABLE items(id INTEGER PRIMARY KEY AUTOINCREMENT,name STRING, price INTEGER)'
)

#インサート
cur.execute('INSERT INTO items values(1,"リンゴ",100)')

#コミット
conn.commit()

#SELECT
cur.execute('SELECT * FROM items')
for row in cur:
    print(row)
'''
結果
(1, 'リンゴ', 100
'''

#複数データインサート
data = [
    (2,"バナナ", 150),
    (3,"レモン", 120),
    (4,"みかん", 200)
]
cur.executemany('INSERT INTO items VALUES(?, ?, ?)', data)
conn.commit()

#SELECT
cur.execute('SELECT * FROM items')
for row in cur:
    print(row)
'''
結果
(1, 'リンゴ', 100)
(2, 'バナナ', 150)
(3, 'レモン', 120)
(4, 'みかん', 200)
'''

#UPDATE
cur.execute('UPDATE items SET price=900 WHERE id = "3"')
#DELETE
cur.execute('DELETE FROM items WHERE id = "2"')
conn.commit()

cur.execute('SELECT * FROM items')
for row in cur:
    print(row)
'''結果
(1, 'リンゴ', 100)
(3, 'レモン', 900)
(4, 'みかん', 200)
'''

#接続を閉じる
conn.close()
みたらしだんごみたらしだんご
import sqlite3

#DB作成(あればDBに接続)
dbname = 'test.db'
conn = sqlite3.connect(dbname)
conn.row_factory = sqlite3.Row  #クラス追加

#カーソル作成
cur = conn.cursor()

#SELECT
cur.execute('SELECT * FROM items')
for row in cur:
     print(row['id'], row['name'], row['price'])  #アクセス方法を変更

#接続を閉じる
conn.close()
このスクラップは2022/10/23にクローズされました