私たちは、仕事でコードを書く、彼らはしばしば、PythonのMySQLデータベースを操作する方法を説明し、ここで、データベースを操作するために来ます。
python3操作MySQLデータベース必要がpymysql、サードパーティのモジュールをインストールし、python2はのMySQLdbモジュールであり、モジュールは、使用pymysqlので、のpython3のMySQLdbではありません。
、pymysqlインストール
サードパーティ製のモジュールのインストール
1、フールのインストール、使用Pythonがインストールするには、ピップのコマンドが来る
手動でインストールし、2
の.tarの最後にインストールを:
最初のファイル解凍し、1、このディレクトリに解凍
2、実行します。Pythonのセットアップ。インストールインストールPY
:の取付端.whl
直接PIP Cをインストールする:\ XX \ XXX \ XXX.whlのファイル(絶対パス/経路に対して)
注:モジュールをインストールする際に、コンピュータのバージョンが複数とすることができPythonは、指定したファイルをインストールするには、XXXの道をインストールPythonX.X -m -pip使用しています
詳細参照:https://www.cnblogs.com/beginner-boy/p/7247688.html
第二に、データベースの基本的な操作 - 追加、削除、変更、
操作の1、PythonのMySQLの基本的な手順:
1、データベース接続を確立します
カーソル(カーソルを介して結果を実行して取得するpymysql SQL)を介してカーソルオブジェクトを作成するために2、()
3、実行()を使用して、SQLステートメントを実行します
4、結果を得るために(クエリ)/トランザクションをコミット(追加、削除、変更)
5.カーソルのクローズ
図6に示すように、接続を閉じます
注: SQL文の下にチェックすることをお勧めした後、前のPythonでCRUD操作を実行することは正しいこと、そして、Pythonのコードに、エラーがないことを確認。
2、データベースを照会
DEFのselect_db(SQL): '' ' クエリモジュールは、' '' #データベースへの接続を確立 DB = pymysql.connect(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZを'、ポート= 3306、文字コード= ' UTF8 ' ) CUR = db.cursor() #カーソルカーソルを経由してオブジェクトを作成します() cur.execute(SQL) #を使用すると、実行()を実行するSQL データ= cur.fetchall() #取得するデータベース内のすべての結果は、二次元アレイリターン CURを。閉じる()を使用する#クローズカーソルを db.Close() #近い接続 リターンデータ select_sql = select_db(" STUからSELECT *; " ) 印刷(select_sql) 実行結果: (( 1、' test00 ')、(2、' テスト'。)、(3、「TEST1 」)) #のネストされたタプル値を形成するために戻って リストがときに、カーソル作成されるネストされた辞書を返すようにしたい場合は、以下のパラメータを追加する:カーソルすなわち、= pymysql.cursors.DictCursorを:CUR db.cursor =(カーソル= pymysql.cursors.DictCursor) DEFのselect_db(SQL): '' ' クエリモジュール' '' #データベースへの接続を確立 pymysql.connect = DB(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZ '、ポート= 3306、文字コード= ' UTF8 ' ) #CUR = db.cursor() #()カーソルを介してカーソルオブジェクトを作成 CUR = db.cursor(カーソル= pymysql.cursors.DictCursor) cur.execute(SQL) #は、実行()を実行するSQL使用 データ= cur.fetchall() #データベースの中に入るすべての結果、これは、二次元アレイ返し cur.close() #近いカーソル db.Close() #近いデータベース接続 リターンデータ select_sql = select_db(" STU SELECT * FROM; " ) プリント(select_sql) 运行结果: [{ ' ID ':1、' 名称':' test00 ' }、{ ' ID ':2、' 名称':' テスト' }、{ ' ID ':3、' 名称':' TEST1 ' }]
注意:
またはfetchAllの()関数は、データベース内のすべての結果の値を得ることです。
いずれかfetchone()関数は、第1のデータを取得し、データベースクエリの結果であります
fetchmany (N )関数は、取得したデータの最初のN個の行であります
クエリの結果は一つだけ、より適切なfetchoneとしている場合、クエリの数は、最も適切なを使用して多くの時間をfetchAllの実際にはストライプ、
図3に示すように、データベース更新操作
DEFのselect_db(SQL): '' ' クエリモジュールは、' '' #データベースへの接続を確立 DB = pymysql.connect(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZを'、ポート= 3306、文字コード= ' UTF8 ' ) #CUR = db.cursor()#カーソルカーソル()を介してオブジェクトを作成します CUR = db.cursor(カーソル= pymysql.cursors.DictCursor) cur.execute(SQL) #を実行して使用SQLの()の実装 db.commit() CUR。閉じる()を使用する#クローズカーソルを db.Close() #密接 select_sql = select_db(" 更新STU SET名= 'test001の' name = 'test00'; " ) 第二の方法: DEFのselect_db1(SQL): '' ' クエリモジュール' '' #が確立データベースへの接続 DB = pymysql.connect(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZ '、ポート= 3306、文字コード= ' UTF8 '、=自動コミット真) #カーソルによって作成されたCUR = db.cursor()#()カーソルオブジェクト CUR = db.cursor(カーソル= pymysql.cursors.DictCursor) cur.execute(SQL) #実行()を使用してSQLを実行 cur.close() #近いカーソル db.Close() #密接 select_sql = select_db1(「更新STU SET名= 『test00』名= 『test001』; 」) #の説明:データベースへの接続、パラメータが自動コミット=真を追加した場合、その後、コミット操作を行うことなく、SQL文の実行が完了した後
4、データベースに挿入さ
DEFのselect_db1(SQL): '' ' クエリモジュールは、' '' #データベースへの接続を確立 DB = pymysql.connect(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZを'、ポート= 3306、文字コード= ' UTF8 '、=自動コミット真) #CUR = db.cursor()#カーソル()でカーソルオブジェクトを作成 CUR = db.cursor(カーソル= pymysql.cursors.DictCursor) cur.execute(SQL )#の使用は()を実行するSQLを実行 CURを。閉じる()を使用する#クローズカーソルを db.Close() #近い接続 select_sql = select_db1(" INSERT INTO STU(ID、名前)の値(5 'Test3は'); ")
5、データベースのデータを削除
DEFのselect_db1(SQL): '' ' クエリモジュールは、' '' #データベースへの接続を確立 DB = pymysql.connect(=ホスト' 192.168.0.105 '、=ユーザー' ルート'、パスワード= ' 123456 '、DB = ' SZZを'、ポート= 3306、文字コード= ' UTF8 '、=自動コミット真) #CUR = db.cursor()#カーソル()でカーソルオブジェクトを作成 CUR = db.cursor(カーソル= pymysql.cursors.DictCursor) cur.execute(SQL )#の使用は()を実行するSQLを実行 CURを。閉じる()を使用する#クローズカーソルを db.Close() #密接 select_sql = select_db1(" 削除STUから名= 'test00'; ")
参考リンク: