そして、データベース.python
1.データ注入を防止します
メモの追加および削除は、(コミット()に提出しなければなりません
輸入pymysql たち =入力(" 请输入用户名:" ) PW =入力(" 请输入密码:" ) デシベル = pymysql.connect(" localhostの"、" 根"、" 根"、" DB1 " ) CONN = デシベル.CURSOR() SQL = " 選択* AAからユーザー名= '%s'のパスワード= '%s'は"%(私たち、PW、) conn.execute(SQL) RES = CONN。fetchone() fetchone() はconn.close() db.close() IF RES: 印刷(" 成功" ) それ以外: 印刷(" 失敗" ) #書かれたパッケージの3種類のデータの注入を防止 #1 conn.executeを(SQL、米国、PW) #の#のconn.execute(SQL、 [US、PW]) #の#のconn.execute(SQL、{ "U":US、 "P":} PW) 米国 =入力(" あなたの名前を入力してください:" ) PW =入力(" パスワードを入力します。" ) DB = pymysql.connect(" ローカルホスト"、"根」、" ルート"、" DB1 " ) CONN = db.cursor() SQL = " AAから選択*名=%(U)sおよびパスワード=%(P)■ " conn.execute(SQL、私たち、PW) #conn.execute(SQL、[米国、PW]) #1 conn.execute(SQL、{ "U":米国、 "P":PW}) RES = conn.fetchone() はconn.close() db.close() もし解像度: 印刷(" 成功" ) それ以外: 印刷(" 失败")
いくつかの方法は、データ挿入
()#インサートデータdb.commitに提出しなければならない インポートpymysql DB= pymysql.connect(「ローカルホスト」、「ルート」、「ルート」、「A」) #カーソル作成する02オブジェクトを =カーソルDBを。カーソル() #の挿入データの SQL ='INSERT INTO BB値(5000)' cursor.execute(SQL) db.commit() #の挿入は、データ提出しなければならない #オフ06 )(cursor.close #オフ07 )(db.Close
#データの防止挿入が注入された 米国のINPUTを=(「ユーザー名を入力してください:」) PW= INPUT(「あなたのパスワードを入力してください:」) #の挿入データはdb.commit()に提出しなければならない インポートpymysqlの デシベル= pymysql.connect(「ローカルホスト」、"ルート"、"根"、"A") #カーソル・オブジェクトを作成するための02 のカーソル=db.cursor() #の挿入データの SQL ='INSERT INTO BB(ユーザー名、パスワード)の値(%S、%s)を' cursor.execute(SQL、(米国、PW、)) db.commit() #の挿入データを提出しなければなりません #オフ06を cursor.close() #07クローズ db.close()
#防ぎデータインジェクションの挿入 #が 同時に複数のステートメントを実行することができ、実行など、多くの文同等の実行()複数の文を実行するときexecutemanyを使用して、はるかに高速であることを強くすることをお勧め 米国はINPUT(=「自分のユーザー名を入力してください:」) PW= INPUTを("パスワードを入力してください:") #の挿入データがdb.commitに提出しなければならない() インポートpymysql デシベル= pymysql.connect("localhostの"、"根"、"根"、"A") #02オブジェクトをカーソルの作成に カーソル=デシベルを.CURSOR() #の挿入データの SQL ="BB INSERT(ユーザー名、パスワード)の値(%S、%S)INTO " cursor.executemany(SQL、[("エゴン": "AAA")、("AAのW " : "EEEE")]) db.commit( ) #の挿入データを提出しなければなりません #オフ06を cursor.close() #07クローズ )(db.close
2.クエリ
インポートpymysqlの #1 カーソル= pymysql.cursors.DictCursor)クエリの結果をドット状に戻され表し 、DB = pymysql.connect(「ローカルホスト」、「ルート」、「ルート」、「A 」) #02カーソル・オブジェクトを作成する カーソルをdb.cursor =(カーソル= pymysql.cursors.DictCursor) #1 カーソル= pymysql.cursors.DictCursor)は、クエリの結果は、ドットの形で返され示し#挿入されたデータを SQL = ' CCからSELECT * ' )cursor.execute(SQL RES = cursor.fetchone() 印刷(RES) cursor.close() # 07閉じる db.close()