पायथन मायएसक्यूएल कहा पे
फ़िल्टर के साथ चयन करें
किसी तालिका से रिकॉर्ड का चयन करते समय, आप "WHERE" कथन का उपयोग करके चयन को फ़िल्टर कर सकते हैं:
उदाहरण
रिकॉर्ड का चयन करें जहां पता "पार्क लेन 38" है: परिणाम:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "SELECT * FROM customers WHERE address ='Park Lane
38'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
वाइल्डकार्ड वर्ण
आप उन अभिलेखों का चयन भी कर सकते हैं जो किसी दिए गए अक्षर या वाक्यांश के साथ शुरू, शामिल या समाप्त होते हैं।
%
वाइल्डकार्ड वर्णों का प्रतिनिधित्व करने के लिए उपयोग करें :
उदाहरण
उन अभिलेखों का चयन करें जहां पते में "रास्ता" शब्द है:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address
LIKE '%way%'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
एसक्यूएल इंजेक्शन रोकें
जब उपयोगकर्ता द्वारा क्वेरी मान प्रदान किए जाते हैं, तो आपको मानों से बचना चाहिए।
यह SQL इंजेक्शन को रोकने के लिए है, जो आपके डेटाबेस को नष्ट या दुरुपयोग करने के लिए एक सामान्य वेब हैकिंग तकनीक है।
mysql.connector मॉड्यूल में क्वेरी मानों से बचने के तरीके हैं:
उदाहरण
प्लाकहोल्डर %s
विधि का उपयोग करके क्वेरी मानों से बचें:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE
address = %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
print(x)