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 パスワードをリセットする方法を説明しました。一部の学生から、データベース...
「これは革命になるだろう」という記事が出たあと。業界の皆様に認知され、もちろん内外からの評価もいただ...
インデックス定義: ディスク上に保存される個別のデータベース構造であり、データ テーブル内のすべての...
目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...
1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...
この記事では、MySQL 8.0.16 Win10 zip版のインストールと設定のグラフィックチュー...
目次背景1. 文書の説明2. 特定の用途結論背景ここで、状況について説明しましょう。親コンポーネント...
apache: ポートに基づいて仮想ホストを作成する仮想ホスト(a、b、c)の作成を例に挙げます1)...
目次1 コンテナクラウドとは何ですか? 2 Dockerの紹介3 dockerを使ってMySQLをイ...
MySQL を自分でインストールするのに 3 時間かかりました。チュートリアルはたくさんあるにもかか...
1. mysqldump の使用時にエラー (1064) が報告されます。これは、mysqldump...
目次1. 自己増分値はどこに保存されますか? 2. 自己価値修正メカニズム3. 自動増分値を変更する...
最近、Linux を使用してローカルにログインしていたところ、正常にログインできず、次のエラー メッ...
前回の記事では、nginx がリクエスト ラインのデータを読み取って、リクエスト ラインを解析する方...
解決策はただ一つ、ソースを変更することです。 github からのソースは基本的にタイムアウトするの...