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()メソッドでは、実行する必要があるSQLコマンドを配置したことに気付いたかもしれません。別のSQLコマンド(更新やドロップなど)を実行する場合、Python構文は何も変更しません。
cursor.execute()
プレースホルダー
はプレースホルダーと呼ばれる巧妙な機能をいくつか持っています。プレースホルダーを使用すると、パラメーターの交換を使用できます。これにより、変数をクエリに挿入しやすくなります。 cursor.execute()
sqlite3
この例を見てみましょう:
records = cursor.execute("SELECT * FROM student") for row in records: print(row)というメソッドを作成しました。このメソッドは、4つのパラメーターを受け入れます。最初のパラメーターは
インスタンスであり、他の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()SQLiteとは何か、Pythonプロジェクトにどのように使用するか、高度な機能の一部がどのように機能するかをよく理解していただければ幸いです。トランザクションを明示的に管理することは、最初は少し難しい場合がありますが、確かにそれを最大限に活用するのに役立ちます。
関連の読み取り:
を使用したPythonユニットテストから始めます
ステートメントを使用して、テーブルにデータを挿入します。プレースホルダー PythonでSQLiteトランザクションを使用する方法は? SQLiteでのトランザクションは、接続オブジェクトの の間に配置して、単一のトランザクションとして扱われるようにします。 sqlite3
http pythonリクエストの初心者向けガイド
Pythonを使用してSQLiteデータベースでテーブルを作成する方法は? Cursorオブジェクトのメソッドを使用してSQLコマンドを実行できます。テーブルを作成するには、
ステートメントを使用します。 sqlite3
またはconnect()
は、SQLインジェクションを避けるためにパラメーター化されたクエリに使用できます。 execute()
およびCREATE TABLE
メソッドを使用して管理されます。複数のSQLコマンドをINSERT INTO
以上がPythonを使用したSqliteの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

PythonとCは、メモリ管理と制御に大きな違いがあります。 1。Pythonは、参照カウントとガベージコレクションに基づいて自動メモリ管理を使用し、プログラマーの作業を簡素化します。 2.Cには、メモリの手動管理が必要であり、より多くの制御を提供しますが、複雑さとエラーのリスクが増加します。どの言語を選択するかは、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

PythonまたはCを選択するかどうかは、プロジェクトの要件に依存するかどうかは次のとおりです。1)Pythonは、簡潔な構文とリッチライブラリのため、迅速な発展、データサイエンス、スクリプトに適しています。 2)Cは、コンピレーションと手動メモリ管理のため、システムプログラミングやゲーム開発など、高性能および基礎となる制御を必要とするシナリオに適しています。

Pythonは、データサイエンスと機械学習で広く使用されており、主にそのシンプルさと強力なライブラリエコシステムに依存しています。 1)Pandasはデータ処理と分析に使用され、2)Numpyが効率的な数値計算を提供し、3)SCIKIT-LEARNは機械学習モデルの構築と最適化に使用されます。これらのライブラリは、Pythonをデータサイエンスと機械学習に理想的なツールにします。

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
