この記事では、SQLite データベース接続を作成し、テーブルを作成し、そのテーブルにデータを挿入するための Python の組み込み sqlite3 モジュールを紹介します。
sqlite3 モジュールを使用して Python を使用して SQLite データベースにデータを挿入する
SQLite データベース テーブルにデータを挿入するには、次の手順に従う必要があります。
- sqlite3モジュールをインポートします。
import sqlite3
これは組み込みモジュールなので、個別にインストールする必要はありません。それをインポートして使用するだけです。
- SQLite データベース接続を作成します。
connect= sqlite3.connect('test.db')
.connect()
メソッドは、指定された SQLite データベース (この場合は test.db) への接続を作成します。データベース名は変更できます。次の構文を覚えておいてください。
sqlite3.connect('database_name.db')
SQLクエリを実行するためのカーソルオブジェクトを取得します。
cursor = connect.cursor()
connect.cursor()
このメソッドはカーソル オブジェクトを作成します。これを使用して SQL クエリを実行し、テーブルの作成、データの挿入、データの更新など、指定されたデータベースを操作できます。
- STUDENT テーブルを作成します。
std_table ="""CREATE TABLE STUDENT( FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255));"""
cursor.execute(std_table)
ここでは、まず CREATE TABLE クエリを設計し、std_table に保存します。次に、指定されたクエリを実行するcursor.execute() メソッドに std_table を渡します。
- STUDENT テーブルにデータを挿入します。
cursor.execute('''INSERT INTO STUDENT VALUES ('Mehvish', 'Ashiq')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Raza', 'Tahir')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Hina', 'Mukhtar')''')
ここでは、cursor.execute() メソッドを使用して INSERT クエリを実行します。
%> を使用请注意
すると、STUDENT テーブルを作成するときにクエリを別の変数に保存する必要がありません。それでも、上記の INSERT ステートメントの場合と同様に、SQL クエリをcursor.execute() メソッドに渡すことができます。
- 挿入したデータを表示します。
print("The 'STUDENT' Table Data:")
table_data=cursor.execute('''SELECT * FROM STUDENT''')
for row in table_data:
print(row)
もう一度、cursor.execute()
メソッドを使用して SELECT クエリを実行し、すべてのテーブル データを table_data に保存します。これを使用して、各行をループして出力します。
出力:
The 'STUDENT' Table Data:
('Mehvish', 'Ashiq')
('Raza', 'Tahir')
('Hina', 'Mukhtar')
- 接続をコミットして閉じます。
connect.commit()
connect.close()
.commit()
は現在選択されているデータベースに最新の変更をコミットし、.close() は接続を閉じます。完全なソースコードは以下にあります。
完全なソースコード
import sqlite3
connect= sqlite3.connect('test.db')
cursor = connect.cursor()
std_table ="""CREATE TABLE STUDENT( FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255));"""
cursor.execute(std_table)
cursor.execute('''INSERT INTO STUDENT VALUES ('Mehvish', 'Ashiq')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Raza', 'Tahir')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Hina', 'Mukhtar')''')
print("The 'STUDENT' Table Data:")
table_data=cursor.execute('''SELECT * FROM STUDENT''')
for row in table_data:
print(row)
connect.commit()
connect.close()
出力:
The 'STUDENT' Table Data:
('Mehvish', 'Ashiq')
('Raza', 'Tahir')
('Hina', 'Mukhtar')