pymysqlをインストールする
2|0pymysqlの使用 2|1データクエリステートメントを使用する データのクエリ fetchone() pymysql からのインポート * conn = 接続( ホスト='127.0.0.1', ポート=3306、ユーザー='root'、 パスワード='123456', データベース='itcast', 文字セット='utf8') # カーソルを作成する c = conn.cursor() # SQL ステートメントを実行します c.execute("select * from student") # データ行をクエリする result = c.fetchone() 印刷(結果) # カーソルを閉じる c.close() # データベース接続を閉じる conn.close() 「」 (1, '张三', 18, b'\x01') 「」 複数のデータをクエリする fetchall() pymysql からのインポート * conn = 接続( ホスト='127.0.0.1', ポート=3306、ユーザー='root'、 パスワード='123456', データベース='itcast', 文字セット='utf8') # カーソルを作成する c = conn.cursor() # SQL ステートメントを実行します c.execute("select * from student") # 複数行のデータをクエリする result = c.fetchall() 結果の項目: 印刷(アイテム) # カーソルを閉じる c.close() # データベース接続を閉じる conn.close() 「」 (1, '张三', 18, b'\x01') (2、「李斯」、19、b'\x00') (3, '王五', 20, b'\x01') 「」 カーソルのデフォルト設定を変更します。戻り値は辞書です pymysql からのインポート * conn = 接続( ホスト='127.0.0.1', ポート=3306、ユーザー='root'、 パスワード='123456', データベース='itcast', 文字セット='utf8') # カーソルを作成し、操作を辞書型に設定します c = conn.cursor(cursors.DictCursor) # SQL ステートメントを実行します c.execute("select * from student") # 複数行のデータをクエリする result = c.fetchall() 結果の項目: 印刷(アイテム) # カーソルを閉じる c.close() # データベース接続を閉じる conn.close() 「」 {'id': 1, 'name': '张三', 'age': 18, 'sex': b'\x01'} {'id': 2、'name': 'Li Si'、'age': 19、'sex': b'\x00'} {'id': 3, 'name': '王五', 'age': 20, 'sex': b'\x01'} 「」 データを返す場合も同様です。必要に応じて辞書またはタプルを返します。 2|2データ操作ステートメントの使用 追加、削除、更新ステートメントを実行する操作は実際には同じです。デモとして1つだけ書いてみます。 pymysql からのインポート * conn = 接続( ホスト='127.0.0.1', ポート=3306、ユーザー='root'、 パスワード='123456', データベース='itcast', 文字セット='utf8') # カーソルを作成する c = conn.cursor() # SQL ステートメントを実行します c.execute("insert into student(name,age,sex) values (%s,%s,%s)",("小二",28,1)) # トランザクションをコミットする conn.commit() # カーソルを閉じる c.close() # データベース接続を閉じる conn.close() クエリ ステートメントとは異なり、トランザクションは commit() を使用してコミットする必要があります。そうしないと、操作は無効になります。 3|0データベース接続クラスの記述 通常版 pysql ヘルプ pymysqlから接続をインポートし、カーソル クラスMysqlHelper: デフ__init__(self, ホスト="127.0.0.1", ユーザー="root", パスワード="123456", データベース="itcast", 文字セット='utf8'、 ポート=3306): self.host = ホスト self.port = ポート self.user = ユーザー self.password = パスワード self.database = データベース self.charset = 文字セット self._conn = なし self._cursor = なし def _open(self): # print("接続が開かれました") self._conn = connect(host=self.host, ポート=自己.ポート、 ユーザー=自己.ユーザー、 パスワード=自分自身のパスワード、 データベース=self.database、 文字セット = self.charset) self._cursor = self._conn.cursor(cursors.DictCursor) def _close(self): # print("接続が閉じられました") 自己._cursor.close() 自己._conn.close() def one(self, sql, params=None): 結果: タプル = None 試す: 自己._open() self._cursor.execute(sql、パラメータ) 結果 = self._cursor.fetchone() except 例外を e として: 印刷する ついに: 自己._close() 結果を返す すべて定義します(self、sql、params=None): 結果: タプル = None 試す: 自己._open() self._cursor.execute(sql、パラメータ) 結果 = self._cursor.fetchall() except 例外を e として: 印刷する ついに: 自己._close() 結果を返す def exe(self, sql, params=なし): 試す: 自己._open() self._cursor.execute(sql、パラメータ) 自己._conn.コミット() except 例外を e として: 印刷する ついに: 自己._close() このクラスは、fetchone、fetchall、および execute をカプセル化し、データベース接続とカーソルを開いたり閉じたりする必要性を排除します。 MysqlHelper からインポート * mysqlhelper = MysqlHelper() ret = mysqlhelper.all("学生から*を選択") ret内のアイテムの場合: 印刷(アイテム) 「」 {'id': 1, 'name': '张三', 'age': 18, 'sex': b'\x01'} {'id': 2、'name': 'Li Si'、'age': 19、'sex': b'\x00'} {'id': 3, 'name': '王五', 'age': 20, 'sex': b'\x01'} {'id': 5, 'name': '小等', 'age': 28, 'sex': b'\x01'} {'id': 6, 'name': 'わはは', 'age': 28, 'sex': b'\x01'} {'id': 7, 'name': 'ワハハ', 'age': 28, 'sex': b'\x01'} 「」 mysql_with.py のコンテキスト マネージャー バージョン pymysqlから接続、カーソルをインポート クラスDB: デフ__init__(self, ホスト='localhost', ポート=3306、 db='itcast', ユーザー='root'、 パスワード='123456', 文字セット='utf8'): # 接続を確立する self.conn = connect( ホスト=ホスト、 ポート=ポート、 デシベル=デシベル、 ユーザー=ユーザー、 パスワード=パスワード、 charset=文字セット) # カーソルを作成し、操作を辞書型に設定します。self.cur = self.conn.cursor(cursor=cursors.DictCursor) def __enter__(self): # カーソルを返す return self.cur def __exit__(self、exc_type、exc_val、exc_tb): # データベースをコミットし、self.conn.commit() を実行します。 # カーソルを閉じる self.cur.close() # データベース接続を閉じる self.conn.close() 使い方: mysql_withからDBをインポート DB() を db として使用: db.execute("学生から*を選択") ret = db.fetchone() 印刷(ret) 「」 {'id': 1, 'name': '张三', 'age': 18, 'sex': b'\x01'} 「」 要約する 上記は、pymysql モジュールを使用して Python で MySQL データベースに接続する方法の紹介です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。 以下もご興味があるかもしれません:
|
<<: K8S クラスターを構築し、Hyper-V で Docker をインストールする方法
>>: vue router-view のネストされた表示実装
この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...
最近、MySQL に触れました。昨日、テーブル構造情報を格納するための新しいテーブルを作成しました。...
この記事では主に CentOS 上で MySQL マスタースレーブサーバーを構築する方法を紹介します...
1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...
JavaScriptの日付エフェクトの具体的なコードは参考用です。具体的な内容は次のとおりです。コー...
結果:実装コード: html <!-- よろしければハートを付けてください! --> &...
Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...
導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...
最近MySQLを5.7にアップグレードしましたが、WordPressでデータのインポート時にエラーが...
Tensorflow バージョンと Cuda および CUDNN の対応: https://tens...
1. ドロップダウンリストの例コードは次のとおりです。 <!doctypehtml> ...
この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...
パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...
この記事では、参考までに、簡単なスネークゲームを実装するためのjsキャンバスの具体的なコードを共有し...
MySQL を使用する際、フィールドをソートしたりクエリしたりすることがよくあります。通常は、中国語...