SQLiteは、占有するメモリが非常に少ない軽量のデータベースであり、通常は数百Kのメモリで十分です。定義テーブル、インデックス、データ自体を含むデータベース全体を、ホスト内の単一のクロスプラットフォーム[ファイルストレージ](https://cloud.tencent.com/product/cfs?from=10680)として扱い、Python、Java、C#、およびその他の言語をサポートします。現在のバージョンにはSQLite3に開発されました。
Pythonには組み込みのSQLiteモジュールがあり、構成を必要とせず、直接インポートして使用できます。次に、PythonでのSQLiteデータベースの操作について簡単に紹介します。
sqlite3をインポートします
接続オブジェクトを作成する
カーソルオブジェクトを作成する
SQLステートメントを実行する
カーソルを閉じる
接続を閉じます
開いているConnectionオブジェクトとCursorオブジェクトが適切に閉じられていることを確認します。そうしないと、リソースリークが発生する可能性があります。
SQLiteのSQL構文は、基本的にmysqlの構文と同じです。
実行後、dbファイルが現在のディレクトリに生成されます。
import sqlite3
# 接続オブジェクトを作成する
con=sqlite3.connect('test.db')
# カーソルオブジェクトを作成する
cur=con.cursor()
# SQLを実行する
cur.execute('CREATE TABLE `students` (id int(10) PRIMARY KEY,name varchar(20),no int(20))')
# カーソルを閉じる
cur.close()
# 接続を閉じます
con.close()
import sqlite3
# 接続オブジェクトを作成する
con=sqlite3.connect('test.db')
# カーソルオブジェクトを作成する
cur=con.cursor()
# 単一のデータを追加する
# cur.execute('insert into students (id,name,no) values(1,'xiaoming',1001)')
# さらにデータを追加し、executemanyを使用します()複数の挿入を実行する方法
data=[(1,'シャオミン',1002),(2,'キングツー',1002),(3,'張さん',1003)]
cur.executemany('insert into students (id,name,no) values(?,?,?)',data)
# カーソルを閉じる
cur.close()
# トランザクションをコミットする
con.commit()
# 接続を閉じます
con.close()
import sqlite3
# 接続オブジェクトを作成する
con=sqlite3.connect('test.db')
# カーソルオブジェクトを作成する
cur=con.cursor()
# SQLを実行する
cur.execute('delete from students where id =3')
# トランザクションをコミットする
con.commit()
# カーソルを閉じる
cur.close()
# 接続を閉じます
con.close()
import sqlite3
# 接続オブジェクトを作成する
con=sqlite3.connect('test.db')
# カーソルオブジェクトを作成する
cur=con.cursor()
# SQLを実行する
cur.execute('update students set name = "張さん" where id = 3')
# トランザクションをコミットする
con.commit()
# カーソルを閉じる
cur.close()
# 接続を閉じます
con.close()
データをクエリする3つの方法:
fetchone():クエリ結果セットのレコードを取得します。
fetchmany(size):指定されたデータのレコードを取得します。
fetchall():結果セット内のすべてのレコードを取得します。
import sqlite3
# 接続オブジェクトを作成する
con=sqlite3.connect('test.db')
# カーソルオブジェクトを作成する
cur=con.cursor()
# SQLを実行する
cur.execute('select * from students')
# クエリ結果セットの2つのレコード
# print(cur.fetchmany(2))
# 結果セット内のすべてのレコードを照会します
print(cur.fetchall())
# カーソルを閉じる
cur.close()
# 接続を閉じます
con.close()
SQLiteドライバーは、最初の接続のためにインストールする必要があります。直接ダウンロードするだけです。
Recommended Posts