Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL कथन में .format () स्ट्रिंग का उपयोग कैसे करें?

तैयार बयानों का उपयोग करना (सुरक्षित तरीका):

qry = """
    SELECT *
    FROM db
    WHERE run_start_date BETWEEN '%s 16:00:00' AND '%s 16:00:00'
""" # 

today = DT.date.today()
week_ago = today - DT.timedelta(days=7)
today = str(today.strftime('%Y-%m-%d'))  # Convert to string
week_ago = str(week_ago.strftime('%Y-%m-%d'))  # Convert to string

cursor.execute(qry, [today, week_ago])

.format() का उपयोग करना जो आपको sql इंजेक्शन के लिए जोखिम में डालता है (यदि आप .format() जैसे उपयोगकर्ता इनपुट पास करते हैं)

qry = """
    SELECT *
    FROM db
    WHERE run_start_date BETWEEN '{today} 16:00:00' AND '{week_ago} 16:00:00'
""" # Use named placeholders, nicer to read, prevents you having to repeat variables multiple time when calling .format()

today = DT.date.today()
week_ago = today - DT.timedelta(days=7)
today = str(today.strftime('%Y-%m-%d'))  # Convert to string
week_ago = str(week_ago.strftime('%Y-%m-%d'))  # Convert to string

qry = qry.format(today=today, week_ago=week_ago)
cursor.execute(qry)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक mysql डीबी में पंक्तियों और टाइमस्टैम्प के बीच चौराहे खोजें

  2. पीडीओ वर्ग का विस्तार

  3. एकाधिक प्रश्नों के लिए एक ही प्रश्न लिखना जहां स्थिति समान तालिका है

  4. पूर्व-चयनित विकल्प के साथ ड्रॉप-डाउन सूची कैसे दिखाएं

  5. मैं MySQL में औसत तिथियां कैसे बना सकता हूं?