最初に依存関係 pip install PyMySQL
をインストールする必要があります。[python依存関係のダウンロード用にグローバルミラーを設定していない場合は、ジャンプしてください](https://juejin.im/post/6867419027937951752)
import pymysql
# データベース接続を作成する
db = pymysql.connect("192.168.10.112","xiongchao","xiongchao","xiongchao")
# カーソルを使用()カーソルオブジェクトを作成するメソッド
cursor = db.cursor()
# 言い訳メソッドを使用してクエリデータベースバージョンを実行します
# 実行時に基本的なクラッド操作を実行できるステートメント
try:
cursor.execute("select * from user")
# データを取得する
data = cursor.fetchall()
cursor.fetchone() print(data)for e in data:
id = e[0]
name = e[1] print('id :{},name:{}'.format(id,name))
except expression as identifier: print("Error: unable to find data from db")
db.close()
dao
レイヤーに似ています。ここではファイルの名前は db.py
であり、テストされたクラスはそれと同じパスに配置されます
import pymysql
classdb_utils: def __init__(self):
self.ip ='192.168.10.112'
self.username ='xiongchao'
self.password ='xiongchao'
self.database ='xiongchao'
self.cursor =''
self.db =''"""データベース接続を作成する""" def create_db(self):try:
db = pymysql.connect(self.ip,self.username,self.password,self.database)
self.db = db
cursor = db.cursor()
self.cursor = cursor
except : print("Error: connect to {} timeout ,please check config, and try agin".format(self.ip))"""単一のクエリ""" def find_one(self,sql):try:
self.cursor.execute(sql)
data = self.cursor.fetchone()return data
except : print("Error: no data find ")
self.db.close()"""複数のクエリ""" def find_all(self,sql):try:
self.cursor.execute(sql)
data = self.cursor.fetchall()
res =[]if len(data)>0:for item in data :
res.append({'id': item[0],'name':item[1]})return res
except: print('Error no data find')
self.db.close() def update(self,sql):try:
self.cursor.execute(sql)
# データ提出
self.db.commit()
except:
# エラー時のロールバック
self.db.rollback()
self.db.close()
# テスト
""" if __name__ == "__main__":
test = db_utils()
cursor = test.create_db()
data = test.find_one("select * from user ")
# 返されるのは、プリミティブ型の値が添え字によって取得されることです。
print(type(data)) print(data[0],data[1])"""
# 独自のパッケージを参照する
import db
if __name__ =="__main__":
# オブジェクトのインスタンス化
test = db.db_utils()
test.create_db()
data = test.find_all("select * from user")
# プリミティブ型を辞書形式に変換します
print(data)
test.close_cont()
残りの変更と削除の使用法は基本的に同じです
Recommended Posts