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 のネストされた表示実装
Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...
目次1. マウスがカルーセル モジュール上を通過すると、左右のボタンが表示され、モジュールを離れると...
ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...
1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...
スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...
1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...
今日は仮想マシンを使って実験をしました。システムをインストールし、いくつかのオプションを最適化した後...
ダウンロードダウンロードアドレス: https://dev.mysql.com/downloads/...
CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...
type はブラウザでの入力と出力に使用されるコントロールです (たとえば、type="t...
Windows 7 で MySQL 5.7.17 をインストールする方法についてのグラフィック チ...
元の住所: http://www.webdesignfromscratch.com/web-2.0-...
目次問題の原因:解決:解決:私は Centos7 を使用しています (理論的にはこの方法は Cent...
この記事の例では、参考のために簡単なリスト機能を実装するアプレットの具体的なコードを共有しています。...
大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...