Python で MySQL と SQLite データベースを操作する#
1 MySQL#
MySQL の知識については、以前のブログを参照してください:Mysql - 眰恦 | BLOG (gitee.io)
Python を使用して MySQL データベースを操作する @狐狸教程:~# (freeaihub.com)
pymysql
ライブラリをインポートする#
import pymysql
MySQL データベースに接続する#
db = pymysql.connect(host='127.0.0.1', user='root', password="", database='データベース名')
データベース操作のためのカーソルを作成する#
cur = conn.cursor() # データベース操作カーソル
pymysql.cursors.DictCursor
を使用すると、データを辞書形式で返すことができます
cur = conn.cursor(pymysql.cursors.DictCursor) # データを辞書形式で返す
MySQL でテーブルを作成する#
MySQL でデータを挿入する#
cur.execute('insert into テーブル名 values 値') # データを挿入する
例:cur.execute('insert into t7(id,name) values (2,"zhangsan")') # データを挿入する
MySQL でデータを削除する#
cur.execute('delete from テーブル名 where 条件') # データを削除する
例:cur.execute('delete from t7 where id = 1') # データを削除する
MySQL でデータを更新する#
cur.execute('update テーブル名 set 更新後の条件 where 条件') # データを更新する
例:cur.execute('update t7 set id=1 where id = 2') # データを更新する
注意:追加、削除、更新の操作を実行した場合は、データベースをコミットする必要があります conn.commit() # データをコミットする
MySQL でデータを検索する#
cur.execute('select * from テーブル名 where 条件') # データを検索する
ret_1=cur.fetchone() # 1つのデータを検索する
print(ret_1) # 1行だけを表示する
ret_n=cur.fetchmany(2) # n個のデータを検索する。括弧内に表示する行数を入力します
print(ret_n) # n行のデータを表示する
ret_all = cur.fetchall() # すべてのデータを検索する
print(ret_all)
# 注意: curはポインタのようなもので、クエリを実行するたびに次のデータに移動します
MySQL の追加、削除、更新、検索はすべて個別の SQL 文を保存し、cur.execute(sql)
で実行できます
追加、削除、更新、検索の操作が完了したら、カーソルを閉じるcur.close()
と接続を閉じるconn.close()
を忘れないでください
2 SQLite#
Releases · sqlitebrowser/sqlitebrowser (github.com)
Python を使用してオンラインで sqlite3 を操作する @狐狸教程:~# (freeaihub.com)
import sqlite3 # sqlite3をインポートする
# データベースファイル
db_file = 'Student.db'
# データベースに接続する
conn = sqlite3.connect(db_file)
# SQL文
sql = 'select * from score'
cur = conn.cursor() # データベース操作カーソル
cur.execute(sql) # SQL文を実行する
# 結果を表示する
print(cur.fetchall())
# データベースを閉じる
conn.close()
SQLite データベースは埋め込み型のデータベースであり、データベースはsqlite.db
というファイルです
SQLite データベースは C 言語で書かれており、サイズが比較的小さく、さまざまなアプリケーションに統合されています。iOS、Android、Mac OS、Linux などにも組み込まれています
Python には組み込みの SQLite データベースがあり、直接使用することができます
SQLite データベースはリレーショナルデータベースであり、1 つのデータベースには複数のテーブルがあり、テーブル間の関連は主キーと外部キーを使用しています
Python で SQLite データベースを操作する方法
接続を取得する
接続後、カーソルを開くcursor
し、cursor
を使用して SQL 文を実行する
接続を閉じてリソースを解放する