Pythonの研究ノート(XV) - データベース操作

私たちは、仕事でコードを書く、彼らはしばしば、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'; "

参考リンク:

https://www.cnblogs.com/wintest/p/12152687.html

http://www.nnzhp.cn/archives/510

おすすめ

転載: www.cnblogs.com/beginner-boy/p/12564128.html