PyMySQL
v1.1.1
このパッケージには、PEP 249 に基づいた純粋な Python MySQL および MariaDB クライアント ライブラリが含まれています。
パッケージはPyPIにアップロードされます。
pip を使用してインストールできます。
$ python3 -m pip install PyMySQL
認証に「sha256_password」または「caching_sha2_password」を使用するには、追加の依存関係をインストールする必要があります。
$ python3 -m pip install PyMySQL[rsa]
MariaDB の「ed25519」認証方法を使用するには、追加の依存関係をインストールする必要があります。
$ python3 -m pip install PyMySQL[ed25519]
ドキュメントはオンラインで入手できます: https://pymysql.readthedocs.io/
サポートについては、StackOverflow を参照してください。
次の例では、単純なテーブルを使用しています。
CREATE TABLE ` users ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT,
` email ` varchar ( 255 ) COLLATE utf8_bin NOT NULL ,
` password ` varchar ( 255 ) COLLATE utf8_bin NOT NULL ,
PRIMARY KEY ( ` id ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_bin
AUTO_INCREMENT = 1 ;
import pymysql . cursors
# Connect to the database
connection = pymysql . connect ( host = 'localhost' ,
user = 'user' ,
password = 'passwd' ,
database = 'db' ,
cursorclass = pymysql . cursors . DictCursor )
with connection :
with connection . cursor () as cursor :
# Create a new record
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor . execute ( sql , ( '[email protected]' , 'very-secret' ))
# connection is not autocommit by default. So you must commit to save
# your changes.
connection . commit ()
with connection . cursor () as cursor :
# Read a single record
sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
cursor . execute ( sql , ( '[email protected]' ,))
result = cursor . fetchone ()
print ( result )
この例では次のように出力されます。
{ 'password' : 'very-secret' , 'id' : 1 }
PyMySQL は MIT ライセンスに基づいてリリースされています。詳細については、「ライセンス」を参照してください。