Cyber Security · मराठी आवृत्ती
SELECT आणि WHERE: हवे ते rows निवडा
SELECT कोणती माहिती हवी ते सांगतो. WHERE कोणत्या rows घ्यायच्या ते filter करतो.
SELECT * FROM students; -- all columns (avoid in apps)
SELECT name, city FROM students; -- chosen columns
SELECT name, fees_paid FROM students WHERE city = 'Pune';
SELECT name, age FROM students WHERE age > 25;
SELECT name FROM students WHERE city = 'Nagpur' AND fees_paid >= 10000;
SELECT name FROM students WHERE city = 'Pune' OR city = 'Nashik';
SELECT name FROM students WHERE NOT city = 'Pune';
SELECT name FROM students WHERE city <> 'Pune'; -- same as above
| Operator | Meaning |
|---|---|
=, <> or != |
Equal, not equal |
>, <, >=, <= |
Comparisons |
AND, OR, NOT |
Combine conditions (use brackets to be clear) |
= समान; <>/!= वेगळं; >, <, >=, <= comparisons. AND मध्ये दोन्ही conditions, OR मध्ये किमान एक आणि NOT मध्ये उलटी condition. App मध्ये आवश्यक columns स्पष्ट निवडले तर अनावश्यक data कमी येतो.
Pune rows चं source output
| name | fees_paid |
|---|---|
| Ravindra Bagale | 15000.00 |
| Shraddha Bagale | 15000.00 |
| Rani | 15000.00 |
मूळ dataset मध्ये Ravindra, Shraddha आणि Rani यांची fees_paid 15000.00 आहे. तुम्ही मागच्या practice मध्ये data वाढवला असेल तर output वेगळा येऊ शकतो.
Security मध्ये उपयोग
Source मधलं classic ' OR '1'='1 उदाहरण vulnerable string-built query मध्ये always-true condition कशी घुसू शकते हे दाखवतं. Login bypass होईल का हे actual query/context वर ठरतं; payload प्रत्येक system वर चालतो असा नियम नाही. बचावासाठी input SQL code म्हणून जोडू नका—parameterized queries वापरा.
Practice
तीन queries लिहा: Nagpur मधले students; age 24 पेक्षा जास्त आणि fees 15000 असलेले; Pune बाहेरचे students.