純粋な Python で実装された MySQL クライアント操作ライブラリを共有する
PyMySQL は、純粋な Python で実装された MySQL クライアント操作ライブラリであり、トランザクション、ストアド プロシージャ、バッチ実行などをサポートします。 PyMySQL は Python Database API v2.0 仕様に従っており、純粋な Python MySQL クライアント ライブラリが含まれています。
インストール
pip install PyMySQL
データベース接続の作成
import pymysql connection = pymysql.connect(host='localhost', port=3306, user='root', password='root', db='demo', charset='utf8')
パラメータリスト:
パラメータ | 説明 |
---|---|
host | データベースサーバーアドレス、デフォルト | user
password | |
database | |
port | |
バインド_ address | |
unix_socket | |
read_timeout | |
write_timeout | |
charset | |
sql_mode | |
read_default_file | |
への変換辞書デフォルトの代わりに使用します。これは、型のカスタム マーシャリングとアンマーシャリングを提供するために使用されます。 | |
デフォルトで Unicode 文字列を使用するかどうか。完了後に実行 SQL ステートメントを初期化します | |
接続タイムアウト、デフォルト 10、最小 1、最大 31536000 | |
今のところ、capath と暗号引数はサポートされていません。 | |
設定ファイル内の読み取り元のグループ。 | |
自動的に送信するかどうか、デフォルトは自動的に送信されず、パラメーター値は None です。 LOAD DATA LOCAL コマンドの使用を有効にするサーバー | |
local_infile | のブール値 (デフォルト: False) |
max_allowed_packet | サーバーに送信されるデータの最大量。デフォルトは16MB |
defer_connect | 遅延接続するかどうか、デフォルトはすぐに接続することです |
auth_plugin_map | そのプラグインを処理するクラスへのプラグイン名の辞書。クラスは Connection オブジェクトを引数として受け取ります。コンストラクターには、認証パケットを引数として受け取る認証メソッドが必要です。ダイアログ プラグインの場合、ユーザーから文字列を返すために、prompt(echo、prompt) メソッドを使用できます (実験的)。 |
server_public_key | SHA256認証プラグイン公開キー値(デフォルト: なし) |
db | パラメータデータベースのエイリアス |
passwd | パラメータパスワードのエイリアス |
binary_prefix | _binary を追加bytes と bytearray の接頭辞 (デフォルト: False) |
执行 SQL
注意:INSERT、UPDATE、DELETE 等修改数据的语句需手动执行 获取自增 IDcursor.lastrowid ログイン後にコピー 查询数据# 执行查询 SQL cursor.execute('SELECT * FROM `users`') # 获取单条数据 cursor.fetchone() # 获取前N条数据 cursor.fetchmany(3) # 获取所有数据 cursor.fetchall() ログイン後にコピー 游标控制所有的数据查询操作均基于游标,我们可以通过 cursor.scroll(1, mode='relative') # 相对当前位置移动 cursor.scroll(2, mode='absolute') # 相对绝对位置移动 ログイン後にコピー 设置游标类型查询时,默认返回的数据类型为元组,可以自定义设置返回类型。支持5种游标类型:
无缓冲游标类型,适用于数据量很大,一次性返回太慢,或者服务端带宽较小时。源码注释: Unbuffered Cursor, mainly useful for queries that return a lot of data, or for connections to remote servers over a slow network. 创建连接时,通过 cursorclass 参数指定类型: connection = pymysql.connect(host='localhost', user='root', password='root', db='demo', charset='utf8', cursorclass=pymysql.cursors.DictCursor) ログイン後にコピー 也可以在创建游标时指定类型: cursor = connection.cursor(cursor=pymysql.cursors.DictCursor) ログイン後にコピー 事务处理
防 SQL 注入
# 插入数据(元组或列表) effect_row = cursor.execute('INSERT INTO `users` (`name`, `age`) VALUES (%s, %s)', ('mary', 18)) # 插入数据(字典) info = {'name': 'fake', 'age': 15} effect_row = cursor.execute('INSERT INTO `users` (`name`, `age`) VALUES (%(name)s, %(age)s)', info) # 批量插入 effect_row = cursor.executemany( 'INSERT INTO `users` (`name`, `age`) VALUES (%s, %s) ON DUPLICATE KEY UPDATE age=VALUES(age)', [ ('hello', 13), ('fake', 28), ]) ログイン後にコピー 参考资料
相关推荐: 以上が純粋な Python で実装された MySQL クライアント操作ライブラリを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。 このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
![]() ホットAIツール![]() Undresser.AI Undressリアルなヌード写真を作成する AI 搭載アプリ ![]() AI Clothes Remover写真から衣服を削除するオンライン AI ツール。 ![]() Undress AI Tool脱衣画像を無料で ![]() Clothoff.ioAI衣類リムーバー ![]() Video Face Swap完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。 ![]() 人気の記事
KB5055612を修正する方法Windows 10にインストールできませんか?
4週間前
By DDD
<🎜>:庭を育てる - 完全な突然変異ガイド
3週間前
By DDD
<🎜>:バブルガムシミュレーターインフィニティ - ロイヤルキーの取得と使用方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
Nordhold:Fusion System、説明
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
マンドラゴラ:魔女の木のささやき - グラップリングフックのロックを解除する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
![]() ホットツール![]() メモ帳++7.3.1使いやすく無料のコードエディター ![]() SublimeText3 中国語版中国語版、とても使いやすい ![]() ゼンドスタジオ 13.0.1強力な PHP 統合開発環境 ![]() ドリームウィーバー CS6ビジュアル Web 開発ツール ![]() SublimeText3 Mac版神レベルのコード編集ソフト(SublimeText3) ![]() ホットトピック
Java チュートリアル
![]() ![]()
CakePHP チュートリアル
![]() ![]()
Laravel チュートリアル
![]() ![]()
PHP チュートリアル
![]() ![]()
C# チュートリアル
![]() ![]() ![]() MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。 ![]() 開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。 ![]() PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。 ![]() GolangisidealforBuildingsCalables Systemsduetoitsefficiency andConcurrency、Whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityand vastecosystem.golang'ssignencouragesclean、readisinediteNeditinesinedinediseNabletinedinedinedisedisedioncourase ![]() Laravelは、チームがPHPに精通しており、豊富な機能を必要とするプロジェクトに適していますが、Python Frameworksはプロジェクトの要件に依存します。 1.Laravelは、迅速な開発と柔軟性を必要とするプロジェクトに適したエレガントな構文とリッチな機能を提供します。 2。Djangoは、「バッテリー包含」の概念のため、複雑なアプリケーションに適しています。 3.Flaskは、高速プロトタイプや小規模プロジェクトに適しており、柔軟性が非常に高くなります。 ![]() MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。 ![]() MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。 ![]() SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。 ![]() |