python 3 MySQLデータベースへの接続
3282 ワード
環境:python 3.6.1+mysql 5.1
Python 3はpymysqlモジュールでデータベースをリンクすることをサポートします
1、pymysqlインストール
Windowsの下:
pip install pymysql
ダイレクトマウント
公式ドキュメント:
http://www.pymssql.org/en/stable/
2、実現構想
C++でデータベースにアクセスする方法とほぼ同じです
A.pymysqlモジュールの方法で、データベースと接続する
B.SQL文の作成
C.接続された返却されたデータベースオブジェクトを通して、対応する方法を呼び出してSQL文を実行する
D.データベースから返されたデータ(つまりキャッシュ領域のデータ)を読み取る
E.該当する返却データに対する操作
F.データベースオブジェクトを閉じ、データベースを閉じる
3、クエリ文実行フローチャート:
4、添削改文実行フローチャート:
5、取引:データベースのプログラム実行ユニットへのアクセスと更新
-アトミック:トランザクションに含まれるアクションは実行するか、実行しないか(バンドルは分割できません)
-コンシステンシ:トランザクションは、データベースをコンシステンシ状態から別のコンシステンシ状態に変更する必要があります.
-独立性:1つのトランザクションの実行を他のトランザクションに干渉させない
-永続性:トランザクションがコミットされると、データベースへの変更は永続的です.
6、添削改ざん機能実現コード:
更新を続けていますが、間違いがあれば、ご指摘ください.
Python 3はpymysqlモジュールでデータベースをリンクすることをサポートします
1、pymysqlインストール
Windowsの下:
pip install pymysql
ダイレクトマウント
公式ドキュメント:
http://www.pymssql.org/en/stable/
2、実現構想
C++でデータベースにアクセスする方法とほぼ同じです
A.pymysqlモジュールの方法で、データベースと接続する
B.SQL文の作成
C.接続された返却されたデータベースオブジェクトを通して、対応する方法を呼び出してSQL文を実行する
D.データベースから返されたデータ(つまりキャッシュ領域のデータ)を読み取る
E.該当する返却データに対する操作
F.データベースオブジェクトを閉じ、データベースを閉じる
3、クエリ文実行フローチャート:
4、添削改文実行フローチャート:
5、取引:データベースのプログラム実行ユニットへのアクセスと更新
-アトミック:トランザクションに含まれるアクションは実行するか、実行しないか(バンドルは分割できません)
-コンシステンシ:トランザクションは、データベースをコンシステンシ状態から別のコンシステンシ状態に変更する必要があります.
-独立性:1つのトランザクションの実行を他のトランザクションに干渉させない
-永続性:トランザクションがコミットされると、データベースへの変更は永続的です.
6、添削改ざん機能実現コード:
# pymysql
import pymysql
class MYSQL:
# ,
def __init__(self,host,user,pwd,dbname):
self.host = host
self.user = user
self.pwd = pwd
self.dbname = dbname
# cursor
# :
def getCursor(self):
#
self.db = pymysql.connect(self.host,self.user,self.pwd,self.dbname)
#
cur = self.db.cursor()
#
return cur
#
def queryOperation(self,sql):
#
cur = self.getCursor()
# SQL
cur.execute(sql)
#
row = cur.rowcount
#
# fetch*
# all ,one ,many(size), size
dataList = cur.fetchall()
#
cur.close()
#
self.db.close()
#
return dataList,row
#
def deleteOperation(self,sql):
#
cur = self.getCursor()
try:
# SQL
cur.execute(sql)
#
self.db.commit()
except Exception as e:
print(e)
#
self.db.rollback()
#
cur.close()
#
self.db.close()
#
def updateOperation(self,sql):
cur = self.getCursor()
try:
cur.execute(sql)
self.db.commit()
except Exception as e:
print(e)
self.db.rollback()
cur.close()
self.db.close()
#
def insertOperation(self,sql):
cur = self.getCursor()
try:
cur.execute(sql)
self.db.commit()
except Exception as e:
print(e)
self.db.rollback()
cur.close()
self.db.close()
更新を続けていますが、間違いがあれば、ご指摘ください.