目次
予備知識
SQL ステートメントを使用してデータ テーブルを作成します
execute() メソッド
Insert Record
SQL ステートメントをクエリします。
fetchall( )
sqlite_master を返します。 table
レコードの更新
レベル 2: データ テーブルの作成
ホームページ バックエンド開発 Python チュートリアル Python で SQLite データベースを使用する方法

Python で SQLite データベースを使用する方法

May 11, 2023 am 08:25 AM
python sqlite

SQL (構造化クエリ言語) は、一般的なデータベース クエリ言語です。 SQL にはデータ定義、データ操作、データ制御機能があり、データベースのすべての作業を完了できます。 SQL 言語を使用する場合、コンピュータに「どのように行うか」を指示する必要はなく、「何を行うか」を指示するだけで済みます。

SQL 言語を使用するには 2 つの方法があり、1 つはコマンド モードで直接対話的に使用する方法、もう 1 つは C/C や Python などの主要な言語に埋め込む方法です。

予備知識

sqliteデータベースの作成と接続

sqliteデータベースの作成と接続は3つのステップに分かれています:

(1)インポートモジュール

import sqlite3
#或者:
from sqlite3 import dbapi2       #导入sqlite3模块的dbapi2接口模块
ログイン後にコピー

(2) connect メソッドを使用してデータベースを作成します

connection=sqlite3.connect(filename) 
#filename为数据库文件名,如果该文件存在则打开该数据库,如果不存在则创建一个新的数据库文件。 
#该方法返回一个数据库连接对象
ログイン後にコピー

(3) 接続オブジェクトを閉じます

connection.close() 
#关闭连接,更新数据库文件
ログイン後にコピー

SQL ステートメントを使用してデータ テーブルを作成します

テーブルはデータベース内の記憶関係です データの集合です。データベースには通常、学生テーブル、クラステーブル、教師テーブルなどの複数のテーブルが含まれます。テーブルは外部キーによって関連付けられます。

SQL では、create ステートメントを使用してテーブルを作成する構文構造は次のとおりです:

create table 表名(字段1,…,字段n)
ログイン後にコピー

たとえば、mytb テーブルを作成します:

create table if not exists mytb( xm char, cj real, kc text )
ログイン後にコピー

テーブル名is mytb; IF NOT EXISTS はデータベース mytb データ テーブルが存在しない場合はテーブルを作成します; データ テーブルがすでに存在する場合は何もしません;

xm char、cj real、kc text は、データテーブルには 3 つのフィールドがあり、xm ( name) は文字列型、cj(grade) は float 型、kc(course) はテキスト文字列です。

SQLite3 はデータ型をサポートします:

null (値 = null)、integer (整数)、real (浮動小数点)ポイント番号)、text (文字列テキスト)、blob (バイナリ データ ブロック)。

execute() メソッド

Python では、execute メソッドを使用して SQL ステートメントを実行できます

conn.execute('create table if not exists mytb( xm char, cj real, kc text )')
ログイン後にコピー

conn は接続オブジェクトです。execute() メソッドのパラメータは SQL ステートメントです。型は文字列です

Insert Record

(1) レコードを挿入する SQL ステートメント

構文形式は次のとおりです:

insert into 表名 [字段名] values [常量]
ログイン後にコピー

例:

insert into Persons values ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
ログイン後にコピー

(2) SQL ステートメントを実行するには、execute() を使用します。

cur.exceute(sql语句)
ログイン後にコピー

(3) トランザクションを送信します。

conn.commit() #提交事务,将数据写入文件,保存到磁盘中。
ログイン後にコピー

SQL ステートメントをクエリします。

「テーブル」「対象列」から条件を満たす式をクエリします。

SELECT 目标列 FROM 表 [WHERE 条件表达式]
ログイン後にコピー

たとえば、20 歳未満の学生の名前と年齢をクエリします。

select sname age from student where age<20
ログイン後にコピー

たとえば、テーブル内のすべてのレコードをクエリします。

select * from student
ログイン後にコピー

fetchall( )

複数のレコード (行) を返します。結果がない場合は、空の ()

sqlite_master を返します。 table

すべての SQLite データベースには sqlite_master というテーブルがあり、このテーブルは自動的に作成されます。

sqlite_master は、テーブル、インデックス、ビュー、トリガーなどのデータベースのメタ情報を格納する特別なテーブルであり、関連情報は select を通じてクエリできます。

select name,sql from sqlite_master where type=&#39;table&#39;
ログイン後にコピー

このステートメントは、データベース内のデータ テーブルの名前をクエリするために使用され、SQL ステートメントはテーブルを作成するために使用されます

レコードの更新

レコードを更新するための SQL ステートメント:

UPDATE 表名 SET 列名=表达式… [WHERE 条件]
ログイン後にコピー

「条件」が成立したら、列の値を「式」に変更します例:

update student set cj=90 where xh="001"
ログイン後にコピー

生徒番号001番の得点を90#に変更できます

##レコードの削除

DROP TABLE および DELETE ステートメント:

(1) データ テーブル内のすべてのレコードを削除します

DELETE FROM <表名>
ログイン後にコピー

たとえば、student テーブルを削除します

delete from student
ログイン後にコピー

(2) レコードの削除

DELETE FROM <表名> WHERE <条件>
ログイン後にコピー

たとえば、中学校番号のレコードを削除します #例題

##レベル 1: データベース ファイルの作成と接続

このレベルのタスク: 現在のディレクトリに mytest.db データベースを作成して接続します。

コード分析

delete from student where xh=&#39;001&#39;
ログイン後にコピー

レベル 2: データ テーブルの作成

このレベルのタスク: データ テーブルのサンプルを作成または開きます。

コード分析

DROP TABLE 表名
ログイン後にコピー

レベル 3: レコードの挿入

このレベルのタスク: sqlite3 データベース ファイル mytest.db を作成し、データ テーブル mytb.db を作成します。 、「テーブルに 3 行のレコードを挿入する」に進みます。

コード分析

drop table student
ログイン後にコピー

レベル 4: レコードのクエリ

このレベルのタスク: 既存のデータベース ファイル myfile 内のデータ テーブル mytb 内のすべてのレコードをクエリするプログラムを設計します。 .db を実行し、データ テーブル構造をクエリします。

コード分析

def return_values():
#***********Begin**********#
    #(1)导入内置sqlite3模块
    import sqlite3
    #(2)创建conn连接对象(在当前路径下建立mytest.db数据库)
    conn = sqlite3.connect("mytest.db")
    #(3)关闭连接
    conn.close()
#***********End**********#
ログイン後にコピー

レベル 5: レコードの更新と削除

このレベルのタスク: sqlite データベース内のレコードの更新と削除

コード分析

#(1)导入sqlite3模块
import sqlite3
#(2)创建conn连接对象,建立mytest.db数据库
conn = sqlite3.connect("mytest.db")
#(3)定义sql语句,创建mytb数据表,表中有三个字段xm、cj、kc,其数据类型分别为char、real、text
sql_demo = "create table if not exists mytb( xm char , cj real , kc text )"
#(4)执行sql语句
conn.execute(sql_demo)
#(5)关闭连接
conn.close()
ログイン後にコピー

レベル 6: ブック データベースの包括的な操作

このレベルのタスク: SQLite でデータベース mybook.db を作成し、データベースにデータ テーブル mytb を作成し、テーブル内で以下を定義します。 isbn (本文)、書籍名 (本文)、価格 (実額) などのフィールドを追加し、レコードを挿入します。

コード分析

#(1)导入sqlite3模块
import sqlite3
#(2)创建数据库文件mytest.db
conn = sqlite3.connect("mytest.db")
#(3)定义一个游标对象
cur = conn.cursor()
#(4)定义创建数据表SQL语句
sql_create = "create table if not exists mytb(xm char,cj real,kc text)"
sql_insert_by = "insert into mytb values (&#39;宝玉&#39;,85,&#39;计算机&#39;)"
sql_insert_dy = "insert into mytb values (&#39;黛玉&#39;,90,&#39;计算机&#39;)"
sql_insert_bc = "insert into mytb values (&#39;宝钗&#39;,80,&#39;数据库&#39;)"
#(5)执行SQL语句,创建数据表mytb
conn.execute(sql_create)
#(6)依次插入3条记录,内容分别为:(&#39;宝玉&#39;,85,&#39;计算机&#39;)、(&#39;黛玉&#39;,92,&#39;计算机&#39;)、(&#39;宝钗&#39;,80,&#39;数据库&#39;)
cur.execute(sql_insert_by)
cur.execute(sql_insert_dy)
cur.execute(sql_insert_bc)
#(7)提交事务
conn.commit()
#(8)关闭连接
cur.close()
conn.close()
ログイン後にコピー

以上がPython で SQLite データベースを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

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

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

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

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

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

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

Visual StudioコードはPythonで使用できますか Visual StudioコードはPythonで使用できますか Apr 15, 2025 pm 08:18 PM

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

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

ターミナルVSCODEでプログラムを実行する方法 ターミナルVSCODEでプログラムを実行する方法 Apr 15, 2025 pm 06:42 PM

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSCODE拡張機能は悪意がありますか? VSCODE拡張機能は悪意がありますか? Apr 15, 2025 pm 07:57 PM

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

See all articles