Python を使用して SQLite データベースにデータを挿入する

Mehvish Ashiq 2023年6月21日
Python を使用して SQLite データベースにデータを挿入する

このチュートリアルでは、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 オブジェクトを取得します。
    cursor = connect.cursor()
    

    connect.cursor() メソッドは 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')
著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook