Pythonを使用したSqliteの紹介
sqlite3
sqlite3
注:開始する前に、SQLに精通するのが最善です。あなたがそれに慣れていない場合は、単にSQL学習を参照できます。 コアポイント
SQLiteは、単純さと構成の容易さのために、Pythonアプリケーションで一般的に使用される軽量のファイルベースの関連データベース管理システムです。同時アクセスをサポートし、複数のプロセスまたはスレッドが同じデータベースにアクセスできるようにします。ただし、マルチユーザー機能がなく、MySQLやPostgreSQLなどの他のデータベーステクノロジーと同様にプロセスとして管理されていません。
-
Pythonの
- モジュールは、SQLiteをSQLiteで提供し、Pythonでプリインストールされています。ユーザーは、データベースを作成したり、データベースに接続したり、テーブルを作成したり、データを挿入したり、SQLコマンドを実行したりできます。モジュールはまた、プレースホルダーをサポートし、SQLコマンドのパラメーターの交換を可能にし、変数をクエリに簡単に挿入できるようにします。
-
SQLiteでのトランザクションは、データの整合性を確保するためのユニットとして扱われる一連のデータベース操作です。 Pythonの
sqlite3
モジュールは、挿入、更新、削除、またはステートメントの交換を実行する前に、トランザクションを開始します。ユーザーは、トランザクション中に行われた変更を保存するために メソッドを呼び出し、データベースに接続するときに - から
sqlite3
を設定することにより、トランザクションを明示的に処理できます。commit()
isolation_level
None
sqliteとは何ですか?
sqliteは、c言語で記述された埋め込みデータベースライブラリです。 MySQLやPostgreSQLなど、他のデータベーステクノロジーに精通している場合があります。これらの手法では、クライアントサーバーの方法を使用します。データベースはサーバーとしてインストールされ、クライアントを使用して接続します。 SQLiteは異なります。これは、プログラムにライブラリとして含まれているため、組み込みデータベースと呼ばれます。すべてのデータはファイルに保存されます(通常は.db拡張機能)。関数を使用してSQLステートメントを実行したり、データベースでその他のアクションを実行したりできます。
また、ファイルベースのストレージソリューションは同時アクセスを提供します。つまり、複数のプロセスまたはスレッドが同じデータベースにアクセスできることを意味します。それで、sqliteとは何ですか?あらゆるタイプのアプリケーションに適していますか?sqliteは、次の状況でうまく機能します
- AndroidやiOSなどのほとんどのモバイルオペレーティングシステムに含まれているため、SQLiteは、スタンドアロンのサーバーレスデータストレージソリューションが必要な場合に最適です。 大規模なCSVファイルを使用するのと比較して、SQLのパワーを活用して、すべてのデータを単一のSQLiteデータベースに入れることができます。
- SQLiteを使用して、アプリケーションの構成データを保存できます。実際、SQLiteは、構成ファイルなどのファイルベースのシステムよりも35%高速です。
- mysqlやpostgreSQLとは異なり、SQLiteにはマルチユーザー機能がありません。
- SQLiteは、サービスではなく、ファイルベースのデータベースです。プロセスとして管理することも、起動したり、停止したり、リソースの使用を管理したりすることはできません。
はじめに言及したように、SQLiteはCライブラリです。ただし、Pythonを含むインターフェイスを作成する言語はたくさんあります。
モジュールはSQLインターフェイスを提供し、少なくともSQLite 3.7.15が必要です。 sqlite3
sqlite3
sqlite3
コードを書く時が来ました!最初の部分では、基本的なデータベースを作成します。最初にすべきことは、データベースを作成してそれに接続することです:
1行目では、
ライブラリをインポートします。次に、import sqlite3 dbName = 'database.db' try: conn = sqlite3.connect(dbName) cursor = conn.cursor() print("Database created!") except Exception as e: print("Something bad happened: ", e) if conn: conn.close()
を呼び出して、データベースへの接続を初期化します。すべてがうまくいかない場合、sqlite3
はtry/except
オブジェクトのインスタンスになります。 sqlite3.connect()
が失敗した場合、受信した例外を印刷し、データベースへの接続を閉じます。公式ドキュメントに記載されているように、各オープンSQLiteデータベースはconn
オブジェクトで表されます。 SQLコマンドを実行する必要があるたびに、Connection
オブジェクトにはtry
と呼ばれるメソッドがあります。データベーステクノロジーでは、カーソルはデータベース内のレコードを通過できる制御構造です。 Connection
Connection
さて、このコードを実行する場合、次の出力を取得する必要があります。
cursor()
という名前の新しいファイルが表示されます。このファイルは、
によって自動的に作成されます。<code>> Database created!</code>
レコードを作成、読み取り、変更database.db
この時点で、新しいテーブルを作成し、最初のエントリを追加し、Select、更新、ドロップなどのSQLコマンドを実行する準備ができています。 sqlite3
テーブルを作成します。
print("Database created!")
行の後、次のことを追加します
import sqlite3 dbName = 'database.db' try: conn = sqlite3.connect(dbName) cursor = conn.cursor() print("Database created!") except Exception as e: print("Something bad happened: ", e) if conn: conn.close()
メソッドを呼び出します。これは、単一のSQLステートメントを実行するときに使用されます。 cursor.execute()
に電話して、保留中のトランザクションをデータベースに送信します。 conn.commit()
メソッドが呼び出されない場合、データベースの保留中の変更が失われます。最後に、commit()
メソッドを呼び出すことにより、データベースへの接続を閉じます。 conn.close()
の結果をcursor.execute()
:records
に変数に保存しましょう。
<code>> Database created!</code>
この時点で、
# 创建操作 create_query = '''CREATE TABLE IF NOT EXISTS student( id INTEGER PRIMARY KEY, name TEXT NOT NULL, surname TEXT NOT NULL); ''' cursor.execute(create_query) print("Table created!") # 插入和读取操作 cursor.execute("INSERT INTO student VALUES (1, 'John', 'Smith')") print("Insert #1 done!") cursor.execute("INSERT INTO student VALUES (2, 'Lucy', 'Jacobs')") print("Insert #2 done!") cursor.execute("INSERT INTO student VALUES (3, 'Stephan', 'Taylor')") print("Insert #3 done!") conn.commit() conn.close()
cursor.execute()
プレースホルダー
はプレースホルダーと呼ばれる巧妙な機能をいくつか持っています。プレースホルダーを使用すると、パラメーターの交換を使用できます。これにより、変数をクエリに挿入しやすくなります。 cursor.execute()
sqlite3
この例を見てみましょう:
records = cursor.execute("SELECT * FROM student") for row in records: print(row)
インスタンスであり、他の3つはSQLコマンドで使用されます。 insert_command()
Connection
、command
、?
を呼び出すと、挿入ステートメントがstudent_id=1
になることを意味します。 name='Jason'
surname='Green'
insert_command
関数を呼び出すと、コマンドとプレースホルダーに置き換えるすべての変数を渡します。これからは、行をINSERT INTO student VALUES(1, 'Jason', 'Green')
テーブルに挿入する必要があるたびに、必要なパラメーターを使用して
execute()
トランザクションstudent
insert_command()
トランザクション定義が初めてではない場合でも、その重要性をすばやく確認します。トランザクションは、データベースで実行される一連の操作であり、論理的にユニットと見なされます。
トランザクションの最も重要な利点は、データの整合性を確保することです。上記で紹介したこの例では、それは役に立たないかもしれませんが、複数のテーブルにより多くのデータを処理すると、トランザクションが影響を与えます。
pythonのsqlite3
モジュールは、ステートメントを実行、更新、削除、または置き換える前に、execute()
およびexecutemany()
を実行する前にトランザクションを開始します。これは、2つのことを意味します:
-
commit()
メソッドを呼び出すことに注意を払う必要があります。commit()
を実行せずにConnection.close()
を呼び出すと、トランザクション中に行うすべての変更が失われます。 - 同じプロセスで開始されてトランザクションを開くことはできません。
解決策?トランザクションを明示的に処理します。
どうですか?関数呼び出しを使用してsqlite3.connect(dbName, isolation_level=None)
の代わりに。 sqlite3.connect(dbName)
に設定することにより、None
次のコードは前のコードの書き直しですが、トランザクションを明示的に使用します:sqlite3
結論
import sqlite3 dbName = 'database.db' try: conn = sqlite3.connect(dbName) cursor = conn.cursor() print("Database created!") except Exception as e: print("Something bad happened: ", e) if conn: conn.close()
関連の読み取り:
を使用したPythonユニットテストから始めます
ステートメントを使用して、テーブルにデータを挿入します。プレースホルダー PythonでSQLiteトランザクションを使用する方法は? SQLiteでのトランザクションは、接続オブジェクトの の間に配置して、単一のトランザクションとして扱われるようにします。 sqlite3
http pythonリクエストの初心者向けガイド
Pythonを使用してSQLiteデータベースでテーブルを作成する方法は? Cursorオブジェクトのメソッドを使用してSQLコマンドを実行できます。テーブルを作成するには、
ステートメントを使用します。 sqlite3
またはconnect()
は、SQLインジェクションを避けるためにパラメーター化されたクエリに使用できます。 execute()
およびCREATE TABLE
メソッドを使用して管理されます。複数のSQLコマンドをINSERT INTO
以上がPythonを使用したSqliteの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。
