PythonでSQLiteデータベースを操作する手順を詳しく解説
この記事では、Python による SQLite データベースの操作方法を主に紹介し、Python による sqlite データベース モジュールのインストールと一般的な sqlite データベースの操作テクニックを説明します。この記事の例は、 Pythonを使用してSQLiteデータベースを操作する方法。参考までに皆さんと共有してください。詳細は次のとおりです:
SQLite の簡単な紹介SQLite データベースは、非常に小さな組み込みのオープン ソース データベース ソフトウェアです。つまり、独立したメンテナンス プロセスがなく、すべてのメンテナンスが行われます。プログラム自体から来ています。これは、ACID に準拠したリレーショナル データベース管理システムであり、多くの組み込み製品で使用されており、組み込みデバイスではわずか数 100 K のメモリしか必要としません。十分。 Windows/Linux/Unix などの主流のオペレーティング システムをサポートし、Tcl、C#、PHP、Java などの多くのプログラミング言語や 2 つのオープンな ODBC インターフェイスと組み合わせることができます。 Mysql や PostgreSQL のソースの世界では、有名なデータベース管理システムよりも処理速度が高速です。 SQLite の最初のアルファ バージョンは 2000 年 5 月に誕生しました。それから 10 年が経ち、SQLite のバージョンもリリースされました。
インストールと使用
1. Python SQLITEデータベースモジュールをインポートしますPython2.5以降、SQLite3が組み込まれ、組み込みモジュールになります。これにより、インストールの手間が省かれ、簡単になります。 ~
import sqlite3
2. データベースを作成/開く
指定したデータベースが存在する場合は、データベースを直接開きます。新しいものを選んで開けます。
cx = sqlite3.connect("E:/test.db")
メモリ内に
データベースを作成
con = sqlite3.connect(":memory:")
3. データベース接続オブジェクト
データベースを開くときに返されるオブジェクト cx は、次の操作を持つことができます:
① commit()--トランザクション送信② rollback( )- -トランザクションのロールバック
③ close()--データベース接続を閉じる④cursor()-- カーソルを作成する
commit() については、isolation_level 分離レベルがデフォルトの場合、すべての操作でこれを使用する必要がありますデータベース コマンドで、isolation_level=None を設定することもできます。これにより、自動送信モードに変更されます。
4.
カーソルを使用してデータベースをクエリするデータベースをクエリし、クエリオブジェクトを取得するには、カーソルオブジェクトのSQLステートメントを使用する必要があります。 次の方法でカーソルを定義します。
cu=cx.cursor()カーソルオブジェクトには次の操作があります:
①execute()--SQL文を実行②executemany--複数のSQL文を実行
③close()--を閉じるカーソル④ fetchone() -- 結果から 1 つのレコードを取得し、カーソルを次のレコードにポイントします
⑤ fetchmany() -- 結果から複数のレコードを取得します
⑥ fetchall() -- 結果からすべてのレコードを取得します
⑦スクロール()--カーソルスクロール
1.テーブルを作成します
コードをコピーします
コードは次のとおりです:cu.execute("create table category (id integer
主キー,pid integer,name varchar) (10) UNIQUE、ニックネーム テキスト NULL)")上記のステートメントは、主キー ID、PID、および名前を持つ、catalog というテーブルを作成します。名前は繰り返すことができず、ニックネームのデフォルトは NULL です。
2.
データの挿入# Never do this -- insecure 会导致注入攻击 pid=200 c.execute("... where pid = '%s'" % pid)
t が単一の値の場合、次の形式にする必要があります。タプルは不変であるため、t=(n,)。
for t in[(0,10,'abc','Yu'),(1,20,'cba','Xu')]: cx.execute("insert into catalog values (?,?,?,?)", t)
単に 2 行のデータを挿入するだけですが、それは送信後にのみ有効になることに注意してください。コミットおよびロールバック操作を実行するためにデータベース接続オブジェクト cx を使用します。
cx.commit()
3. クエリ
cu.execute("select * from catalog")
クエリされたデータを抽出するには、次のようなカーソルの fetch 関数を使用します。
In [10]: cu.fetchall() Out[10]: [(0, 10, u'abc', u'Yu'), (1, 20, u'cba', u'Xu')]
cu.fetchone() を使用すると、リストの最初の項目が最初に返されます。再度使用する場合は、2 番目の項目に戻り、順番に進みます
In [12]: cu.execute("update catalog set name='Boy' where id = 0") In [13]: cx.commit()
注意、データを修正してから送信してください
cu.execute("delete from catalog where id = 1") cx.commit()
まず、IDE またはシステムのデフォルトのエンコーディングが utf-8 であることを確認し、中国語の前に u
を追加してください
x=u'鱼' cu.execute("update catalog set name=? where id = 0",x) cu.execute("select * from catalog") cu.fetchall() [(0, 10, u'\u9c7c', u'Yu'), (1, 20, u'cba', u'Xu')]
如果要显示出中文字体,那需要依次打印出每个字符串
In [26]: for item in cu.fetchall(): ....: for element in item: ....: print element, ....: print ....: 0 10 鱼 Yu 1 20 cba Xu
7.Row类型
Row提供了基于索引和基于名字大小写敏感的方式来访问列而几乎没有内存开销。 原文如下:
sqlite3.Row provides both index-based and case-insensitive name-based access to columns with almost no memory overhead. It will probably be better than your own custom dictionary-based approach or even a db_row based solution.
Row对象的详细介绍
class sqlite3.Row
A Row instance serves as a highly optimized row_factory for Connection objects. It tries to mimic a tuple in most of its features.
It supports mapping access by column name and index, iteration, representation, equality testing and len().
If two Row objects have exactly the same columns and their members are equal, they compare equal.
Changed in version 2.6: Added iteration and equality (hashability).
keys()
This method returns a tuple of column names. Immediately after a query, it is the first member of each tuple in Cursor.description.
New in version 2.6.
下面举例说明
In [30]: cx.row_factory = sqlite3.Row In [31]: c = cx.cursor() In [32]: c.execute('select * from catalog') Out[32]: <sqlite3.Cursor object at 0x05666680> In [33]: r = c.fetchone() In [34]: type(r) Out[34]: <type 'sqlite3.Row'> In [35]: r Out[35]: <sqlite3.Row object at 0x05348980> In [36]: print r (0, 10, u'\u9c7c', u'Yu') In [37]: len(r) Out[37]: 4 In [39]: r[2] #使用索引查询 Out[39]: u'\u9c7c' In [41]: r.keys() Out[41]: ['id', 'pid', 'name', 'nickname'] In [42]: for e in r: ....: print e, ....: 0 10 鱼 Yu
使用列的关键词查询
In [43]: r['id'] Out[43]: 0 In [44]: r['name'] Out[44]: u'\u9c7c'
以上が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)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。
