Python研究ノート(3)

Pythonスタディノート(3)データベース接続

データベース接続

最初に依存関係 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()

**ツールクラスパッケージは、java ** ###の 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

Python研究ノート(3)
Pythonノート
UbuntuLinux研究ノート
SkyWalking研究ノート(CentOS環境)
Pythonエントリチュートリアルノート(3)配列
Python入門ノート[基本的な文法(上)]
コンテナ調査ノートCentOS7はDockerをインストールします
Python CookBook
Python FAQ
Python3モジュール
python(you-get)
Python文字列
Pythonの基本
Pythonの基本2
Python exec
Python3タプル
CentOS + Python3.6 +
Python Advanced(1)
Pythonデコレータ
Pythonマルチスレッド
Pythonツールチェーン
Python3リスト
Pythonマルチタスク-日常
Pythonの概要
pythonの紹介
Pythonアナリティック
Pythonの基本
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
Python関数
python sys.stdout
python演算子
Pythonエントリ-3
Centos 7.5 python3.6
Python文字列
pythonキューキュー
Pythonの基本4
Pythonの基本5