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 のネストされた表示実装
同僚から、一時テーブルを使用して変数データを挿入して表示する方法を教わったことがありますが、この方法...
1. CSS3アニメーション☺CSS3 アニメーションは、JavaScript を介して要素のスタイ...
ここには複数の Tomcat があります。それらを同時に使用する場合は、ポート番号を別の番号に変更す...
背景会社のサブプロジェクトが増えるにつれて、さまざまなサイズのプロジェクトが10個以上になります(バ...
CentOS の紹介CentOS は、Red Hat Linux が提供する無料で利用できるソースコ...
なぜこのような記事を書いたかというと、数日前の夜、仕事が終わろうとしていたときに、業務側で突然、テー...
この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...
ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...
この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...
方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...
目次序文指導の基本フック機能フック関数のパラメータ文章使い方とアイデア成し遂げる汎用性を高める要約す...
目次序文1. アプリケーションコンポーネント2. アプリケーションの種類3. アプリケーションサービ...
目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...
Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...
前回の記事で、mysqldump バックアップ ファイルに記録されるタイムスタンプ データは UTC...