十二. 數據庫和python

一 .python和數據庫

1. 防止數據注入

注意增刪改 必定要提交(commit()python

import pymysql
us=input("請輸入用戶名:")
pw=input("請輸入密碼:")
db=pymysql.connect("localhost","root","root","db1")
conn=db.cursor()
sql="select * from  aa where username='%s' and password='%s'"%(us,pw,)
conn.execute(sql)

res=conn.fetchone()

conn.close()
db.close()
if res:
    print("成功")
else:
    print("失敗")





# 防止數據注入    三種封裝方式寫法
# conn.execute(sql,us,pw)
# # conn.execute(sql,[us,pw])
# # conn.execute(sql,{"u":us,"p":pw})

us=input("請輸入用戶名:")
pw=input("請輸入密碼:")
db=pymysql.connect("localhost","root","root","db1")
conn=db.cursor()
sql="select * from  aa where username=%(u)s and password=%(p)s"
conn.execute(sql,us,pw)
# conn.execute(sql,[us,pw])
# conn.execute(sql,{"u":us,"p":pw})
res=conn.fetchone()
conn.close()
db.close()
if res:
    print("成功")
else:
    print("失敗")
插入數據的幾種方法

# 插入數據必須提交 db.commit()
import pymysql db=pymysql.connect("localhost","root","root","a") # 02 建立一個cursor對象 cursor=db.cursor() # 插入數據 sql='insert into bb values(5000)' cursor.execute(sql) db.commit() # 插入數據必須提交 # 06 斷開 cursor.close() # 07 關閉 db.close()

# 防止插入數據注入
us=input("請輸入用戶名:")
pw=input("請輸入密碼:")
# 插入數據必須提交  db.commit()
import pymysql
db=pymysql.connect("localhost","root","root","a")
# 02 建立一個cursor對象
cursor=db.cursor()
# 插入數據
sql='insert into bb (username,password)values(%s,%s)'  
cursor.execute(sql,(us,pw,))
db.commit()      # 插入數據必須提交
# 06 斷開
cursor.close()

# 07 關閉
db.close()
 
 
# 防止插入數據注入 #  能同時執行多條語句,執行一樣多的語句可比execute()快不少,強烈建議執行多條語句時使用executemany
us=input("請輸入用戶名:")
pw=input("請輸入密碼:")
# 插入數據必須提交  db.commit()
import pymysql
db=pymysql.connect("localhost","root","root","a")
# 02 建立一個cursor對象
cursor=db.cursor()
# 插入數據
sql='insert into bb (username,password)values(%s,%s)'
cursor.executemany(sql,[("egon":"aaa"),("aaw":"eeee")])
db.commit()      # 插入數據必須提交
# 06 斷開
cursor.close()

# 07 關閉
db.close()

 

             
  

2. 查詢

import pymysql

# cursor=pymysql.cursors.DictCursor) 表示查詢的結果是以字點形式返回
db=pymysql.connect("localhost","root","root","a")

# 02 建立一個cursor對象
cursor=db.cursor(cursor=pymysql.cursors.DictCursor)   # cursor=pymysql.cursors.DictCursor) 表示查詢的結果是以字點形式返回

# 插入數據
sql='select * from cc '

cursor.execute(sql)
res=cursor.fetchone()
print(res)
cursor.close()

# 07 關閉
db.close()


相關文章
相關標籤/搜索