Pythonの学習日記(三〇から七)MySQLデータベースの章5

使用pymsql

知人pymysqlモジュール

ユーザーのID、ユーザー名、パスワードを含むデータベーステーブル内のユーザー情報を、作成します。

作成 、テーブルのuserinfo(
    UIDのint型 ではない nullを AUTO_INCREMENT 、主 キー
    ユーザ名VARCHAR32 )、
    PWD VARCHAR32 
)エンジン= InnoDBのデフォルトのcharset = UTF8。

ユーザーの情報を増やします。

挿入 中にユーザー情報(ユーザ名、PWD)' jxson '' A123 ');

ユーザーがシミュレートされた着陸効果pymysqlモジュールを使用してデータベースから情報を取得します:

インポートpymysqlの
ユーザー = INPUT(' ユーザー名:'#は、ユーザーの名前を入力します 
PWD = INPUT(' :パスワードは'#は、ユーザーのパスワードを入力します 
コネティカット= pymysql.connect(ホスト= ' localhostの'、=ユーザー' ルート' =、パスワードを'' データベース= ' DB1 '#は、データベースへの接続 
)(カーソル= conn.cursor                                                                  カーソルは、私たちは、データの取得を支援するためのカーソルです 
sql_search = " のUserInfoからWHEREユーザー名= '%のS'とPWD = '%S' SELECT *を"%(ユーザー、PWD、)     SQL文の 
cursor.execute(sql_search)実行をSQL文は 
cursor.fetchone =()GET_ONE                                                              データのセット取る 
cursor.closeを()                                                                          、カーソルクローズ 
はconn.close()                                                                            接続を閉じ
た場合GET_ONE:                                                                             データを取得することがあるかどうかを判断する
    印刷!成功した着陸印刷(GET_ONEを)                                      
 印刷ログインに失敗しました!

結果:

ユーザ名:jxson 
パスワード:A123の
着陸成功! 1、' jxson '' A123 '

SQLインジェクションを防ぐ改良された方法

1。

sql_search = " ここで、ユーザ名=%SおよびPWD =%sのユーザー情報SELECT * FROM "                      
cursor.execute(sql_search、ユーザ、PWD)  

2.リスト表現

sql_search = " ここ=%sのユーザー名およびPWD =%sのユーザー情報SELECT * FROM "                       
cursor.execute(sql_search、[ユーザ、PWD])

3.辞書表現

sql_search = " ここで、ユーザ名=%(U)sおよびPWD =%(P)のユーザー情報SELECT * FROM "                       
cursor.execute(sql_search、{ ' U ':ユーザー、' P ':PWD})

 

おすすめ

転載: www.cnblogs.com/Fantac/p/11672330.html