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 では、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
(バイナリ データ ブロック)。
Python では、execute メソッドを使用して SQL ステートメントを実行できます
conn.execute('create table if not exists mytb( xm char, cj real, kc text )')
conn は接続オブジェクトです。execute() メソッドのパラメータは SQL ステートメントです。型は文字列です
(1) レコードを挿入する SQL ステートメント
構文形式は次のとおりです:
insert into 表名 [字段名] values [常量]
例:
insert into Persons values ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
(2) SQL ステートメントを実行するには、execute() を使用します。
cur.exceute(sql语句)
(3) トランザクションを送信します。
conn.commit() #提交事务,将数据写入文件,保存到磁盘中。
「テーブル」「対象列」から条件を満たす式をクエリします。
SELECT 目标列 FROM 表 [WHERE 条件表达式]
たとえば、20 歳未満の学生の名前と年齢をクエリします。
select sname age from student where age<20
たとえば、テーブル内のすべてのレコードをクエリします。
select * from student
複数のレコード (行) を返します。結果がない場合は、空の ()
すべての SQLite データベースには sqlite_master というテーブルがあり、このテーブルは自動的に作成されます。
sqlite_master は、テーブル、インデックス、ビュー、トリガーなどのデータベースのメタ情報を格納する特別なテーブルであり、関連情報は select を通じてクエリできます。
select name,sql from sqlite_master where type='table'
このステートメントは、データベース内のデータ テーブルの名前をクエリするために使用され、SQL ステートメントはテーブルを作成するために使用されます
レコードを更新するための SQL ステートメント:
UPDATE 表名 SET 列名=表达式… [WHERE 条件]
「条件」が成立したら、列の値を「式」に変更します例:
update student set cj=90 where xh="001"
生徒番号001番の得点を90#に変更できます
##レコードの削除 DROP TABLE および DELETE ステートメント: (1) データ テーブル内のすべてのレコードを削除しますDELETE FROM <表名>
delete from student
DELETE FROM <表名> WHERE <条件>条件>
##レベル 1: データベース ファイルの作成と接続
このレベルのタスク: 現在のディレクトリに mytest.db データベースを作成して接続します。
コード分析
delete from student where xh='001'
このレベルのタスク: データ テーブルのサンプルを作成または開きます。
コード分析
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 ('宝玉',85,'计算机')" sql_insert_dy = "insert into mytb values ('黛玉',90,'计算机')" sql_insert_bc = "insert into mytb values ('宝钗',80,'数据库')" #(5)执行SQL语句,创建数据表mytb conn.execute(sql_create) #(6)依次插入3条记录,内容分别为:('宝玉',85,'计算机')、('黛玉',92,'计算机')、('宝钗',80,'数据库') 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 サイトの他の関連記事を参照してください。