Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking β€œSign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frontend web development react angular vue: React State Management #8572

Open
wants to merge 8,530 commits into
base: Frontend_Web_Development_React_Angular_Vue
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
8530 commits
Select commit Hold shift + click to select a range
e6de67f
Update README.md
srini047 Nov 29, 2021
055e7c3
Delete Datascience_With_Python/Machine Learning/Algorithms/Long Short…
srini047 Nov 29, 2021
3207844
Merge pull request #8816 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 29, 2021
f90858e
Create README.md
ashish-reddy-20-08 Nov 29, 2021
f8fc412
Update readme.md
Suvraneel Nov 29, 2021
3590ab6
Merge pull request #8817 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 29, 2021
a5d37b1
Create README.md
ashish-reddy-20-08 Nov 29, 2021
de98152
Merge pull request #8819 from Suvraneel/C_CPP
Suvraneel Nov 29, 2021
c7a891b
Merge pull request #8818 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 29, 2021
6078a3a
Create Readme.md
mohansaitejatalari Nov 29, 2021
5fb7ec5
ADD DCL commands documentation
mohansaitejatalari Nov 29, 2021
94291bd
Create README.md
deepthi1107 Nov 29, 2021
df9813c
Create README.md
ashish-reddy-20-08 Nov 29, 2021
3512a0b
Renamed a file
RicaGhosh Nov 29, 2021
ef8ca06
Updated Files
Srijan221 Nov 29, 2021
d14497e
Merge branch 'girlscript:Datascience_With_Python' into Datascience_Wi…
Srijan221 Nov 29, 2021
86cd3e3
Merge pull request #8821 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 29, 2021
a4a6b3d
Merge pull request #8820 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 29, 2021
6be3bbf
Create README.md
deepthi1107 Nov 29, 2021
9fac1d0
added documentation
areenoverclouds Nov 29, 2021
7c0e854
Merge pull request #8824 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 29, 2021
b8a8f71
Redesigned Google Meet (#8642)
DiyaVj Nov 29, 2021
71b6cf7
Create README.md
deepthi1107 Nov 29, 2021
7b68b95
[CP]: Lowest Common Ancestor in Binary Tree (#8391)
areenoverclouds Nov 29, 2021
6483ee6
Merge branch 'girlscript:Datascience_With_Python' into Datascience_Wi…
RicaGhosh Nov 29, 2021
3df3c16
Merge pull request #8826 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 29, 2021
a78653e
Updated DS Resources
RicaGhosh Nov 29, 2021
29e87b0
Added image via Upload
RicaGhosh Nov 29, 2021
1bc0311
Added file via Upload
RicaGhosh Nov 29, 2021
5c3298a
Created README.md
RicaGhosh Nov 29, 2021
c03dae0
Updated README.md
RicaGhosh Nov 29, 2021
cf7cd51
Delete README.md
prathimacode-hub Nov 29, 2021
f3cab5b
Merge pull request #8823 from RicaGhosh/Datascience_With_Python
prathimacode-hub Nov 29, 2021
0d3c1ad
Merge pull request #8748 from Srijan221/Datascience_With_Python
prathimacode-hub Nov 29, 2021
768a867
Create Binary_Tree_Left_View.md
saloni33 Nov 29, 2021
113dffd
Update readme.md
saloni33 Nov 29, 2021
27ac879
Merge pull request #8825 from areenoverclouds/C_CPP
Suvraneel Nov 29, 2021
6475ade
Merge branch 'C_CPP' into C_CPP
saloni33 Nov 29, 2021
e69f3be
done with 2
xerexcoded Nov 29, 2021
85fba34
updated readme
xerexcoded Nov 29, 2021
a786924
updated readme
xerexcoded Nov 29, 2021
8a5d6ca
Merge branch 'girlscript:Datascience_With_Python' into Datascience_Wi…
srini047 Nov 29, 2021
d8b2b9e
Add files via upload
srini047 Nov 29, 2021
88a06be
Add files via upload
srini047 Nov 29, 2021
200acea
Delete Datascience_With_Python/Deep Learning/Tutorials/Long Short Ter…
srini047 Nov 29, 2021
b10b651
Add files via upload
srini047 Nov 29, 2021
318caaa
Create README.md
srini047 Nov 29, 2021
ed580b8
almost done
xerexcoded Nov 29, 2021
7976e8f
almost done 14
xerexcoded Nov 29, 2021
12f1240
Update README.md
srini047 Nov 29, 2021
e14c21b
Merge pull request #8729 from srini047/Datascience_With_Python
prathimacode-hub Nov 29, 2021
26461ea
Merge pull request #8822 from mohansaitejatalari/Database
Ash515 Nov 29, 2021
0ea8353
Merge branch 'girlscript:C_CPP' into C_CPP
apeksha235 Nov 29, 2021
9b702bb
SQL views and indexes
sakshi168 Nov 29, 2021
24db0b6
done 14
xerexcoded Nov 29, 2021
9fbbd2c
update readme
xerexcoded Nov 29, 2021
52727c7
0.5 there with 16
xerexcoded Nov 29, 2021
7d71ca8
done with 16
xerexcoded Nov 29, 2021
9e555f0
readme update 16
xerexcoded Nov 29, 2021
17b95cc
readme update 8 and 11
xerexcoded Nov 29, 2021
921c682
readme update 8 and 11
xerexcoded Nov 29, 2021
3b3c7eb
readme update 8 and 11
xerexcoded Nov 29, 2021
173aa3c
Update README.md
prathimacode-hub Nov 29, 2021
fd5b897
Added few relative links
apeksha235 Nov 29, 2021
eac610a
Modified readme
apeksha235 Nov 29, 2021
c16b704
Merge pull request #8846 from apeksha235/C_CPP
Suvraneel Nov 29, 2021
5abed9a
Merge pull request #8691 from rhythmjayee/patch-1
syedareehaquasar Nov 30, 2021
575b0e2
Rename Interview_Preparation/Cheat Sheet C++.md to Interview_Preparat…
syedareehaquasar Nov 30, 2021
6589a74
Rename Interview_Preparation/Cheet Sheat Python.md to Interview_Prepa…
syedareehaquasar Nov 30, 2021
279c462
Update README.md
syedareehaquasar Nov 30, 2021
0425ae3
fixed main readme sub-links
Suvraneel Nov 30, 2021
06c8d19
Update readme.md
Suvraneel Nov 30, 2021
4e5f8f5
fixed sub-structure of STL
Suvraneel Nov 30, 2021
41b1f7c
Update README.md
wiredhikari Nov 30, 2021
0fb1c67
Merge branch 'girlscript:C_CPP' into C_CPP
0xvashishth Nov 30, 2021
59124c4
Merge pull request #8864 from AtharvaAmritkar/patch-3
xerexcoded Nov 30, 2021
3c780d7
Merge branch 'girlscript:C_CPP' into C_CPP
saloni33 Nov 30, 2021
09237de
Create Binary_Tree_Right_View.md
saloni33 Nov 30, 2021
6fe3556
Update readme.md
saloni33 Nov 30, 2021
e08ba70
Added the Documentation
stutimohta20 Nov 30, 2021
c8368f2
Added the relative link
stutimohta20 Nov 30, 2021
6e32df0
Create README.md
deepthi1107 Nov 30, 2021
5fa5a1c
Create README.md
ashish-reddy-20-08 Nov 30, 2021
326d355
Update README.md
syedareehaquasar Nov 30, 2021
7918485
Merge pull request #8621 from iam-sakshi/Competitive_Programming
ErzaTitania-2001 Nov 30, 2021
e7873c4
Merge pull request #8829 from saloni33/C_CPP
Saviour1001 Nov 30, 2021
598f4cc
Merge pull request #8874 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
2616c83
Create README.md
ashish-reddy-20-08 Nov 30, 2021
eef5575
Merge pull request #8872 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
1d392ec
Merge pull request #8879 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
fdecdb4
Create README.md
ashish-reddy-20-08 Nov 30, 2021
9b0b804
Create README.md
deepthi1107 Nov 30, 2021
9a06045
Merge pull request #8881 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
3986085
Create README.md
ashish-reddy-20-08 Nov 30, 2021
9036cc6
Merge pull request #8882 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
4d5c1b0
Create README.md
deepthi1107 Nov 30, 2021
ea365d0
Merge pull request #8885 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
925b6a7
Create README.md
ashish-reddy-20-08 Nov 30, 2021
1b6be61
Add files via upload
surjyaneeh Nov 30, 2021
b541763
Create README.md
deepthi1107 Nov 30, 2021
19d4ba8
Delete Datascience_With_Python/Machine Learning/Audios/ID3 Classifica…
deepthi1107 Nov 30, 2021
242a678
Merge pull request #8886 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
f77eba2
Create README.md
deepthi1107 Nov 30, 2021
28448dc
Create README.md
deepthi1107 Nov 30, 2021
79de532
Delete Datascience_With_Python/Machine Learning/Audios/Mathematics be…
deepthi1107 Nov 30, 2021
1e662e5
Merge pull request #8887 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
e2e3595
Merge pull request #8890 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
d349200
Create README.md
deepthi1107 Nov 30, 2021
0a93d57
Merge branch 'C_CPP' into C_CPP
saloni33 Nov 30, 2021
79528c5
Merge pull request #8892 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
fd243e5
Merge branch 'girlscript:C_CPP' into C_CPP
0xvashishth Nov 30, 2021
8fb974a
Introduction to algorithm link added
0xvashishth Nov 30, 2021
ef898ca
Bit Operation link updated
0xvashishth Nov 30, 2021
e23c7ce
divide and conquer algorithm link updated
0xvashishth Nov 30, 2021
a971c45
Randomised link updated
0xvashishth Nov 30, 2021
dcae26c
Quick sort and shell sort link added
0xvashishth Nov 30, 2021
7ab66f9
Selection Sort Video Moved to Sorting Folder
0xvashishth Nov 30, 2021
1558aa6
Lcm Gcd Link Updated
0xvashishth Nov 30, 2021
de5a13e
Merge pull request #8870 from saloni33/C_CPP
Suvraneel Nov 30, 2021
be02da3
Searching Algorithms link updated
0xvashishth Nov 30, 2021
a97223f
Name Updated of file handling md file
0xvashishth Nov 30, 2021
e2099d1
colors namespaces patterns storage classes link added
0xvashishth Nov 30, 2021
3c5a984
Nested function moved to function folder
0xvashishth Nov 30, 2021
0103ff6
Application of cpp link added
0xvashishth Nov 30, 2021
fd97a5c
Merge pull request #8897 from vasu-1/vasu-1-patch-2
Suvraneel Nov 30, 2021
9049bcf
Merge branch 'girlscript:Datascience_With_Python' into Datascience_Wi…
hrugved06 Nov 30, 2021
9c9286f
Added Java and Spring annotations file
Yash-Chandrani Nov 30, 2021
327cbfa
README
hrugved06 Nov 30, 2021
7c54564
Image Dataset
hrugved06 Nov 30, 2021
5d5fba7
Optical Flow Algorithm
hrugved06 Nov 30, 2021
924c46f
Reference Images
hrugved06 Nov 30, 2021
22455a4
Create PrimsAlgorithm.md
Mahi1901 Nov 30, 2021
3689e83
Update readme.md
Mahi1901 Nov 30, 2021
dba57f5
Merge pull request #8906 from Mahi1901/Mahi1901-patch-1
Saviour1001 Nov 30, 2021
86ebc6a
Merge pull request #5590 from hrugved06/Datascience_With_Python
prathimacode-hub Nov 30, 2021
2a0b3ac
Create KruskalAlgo.md
Mahi1901 Nov 30, 2021
f36f92a
Update readme.md
Mahi1901 Nov 30, 2021
2fb3267
[Competitive programming]: K- Concatenation Problem codechef (#8437)
vishvarana Nov 30, 2021
aa19156
Create README.md
deepthi1107 Nov 30, 2021
a631667
Create README.md
ashish-reddy-20-08 Nov 30, 2021
296b047
Merge pull request #8913 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
0360441
Merge pull request #8914 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
26d32e7
Create README.md
ashish-reddy-20-08 Nov 30, 2021
984c2a0
Create README.md
deepthi1107 Nov 30, 2021
108bd56
Updated
gitsdeepak Nov 30, 2021
e32c005
Merge pull request #8916 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
f3fd697
Merge pull request #8917 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
348b62e
Create README.md
deepthi1107 Nov 30, 2021
d0a9f55
Create README.md
ashish-reddy-20-08 Nov 30, 2021
6ea929c
Merge pull request #8918 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
76f1cd6
Create README.md
deepthi1107 Nov 30, 2021
1511818
Merge pull request #8919 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
7c6cbcf
Create README.md
ashish-reddy-20-08 Nov 30, 2021
c713589
Merge pull request #8921 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
8a0d8e2
Create README.md
deepthi1107 Nov 30, 2021
8c8e8c3
Merge pull request #8924 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
e6e0599
Updated
gitsdeepak Nov 30, 2021
46b3255
Create README.md
ashish-reddy-20-08 Nov 30, 2021
f5b0023
Merge pull request #8925 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
227c256
Create README.md
deepthi1107 Nov 30, 2021
ebb3787
Merge pull request #8928 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
a387867
Create README.md
ashish-reddy-20-08 Nov 30, 2021
e251628
SQL Transactions and Injections
gitsdeepak Nov 30, 2021
eb75305
Merge pull request #8929 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
39ebfe7
Merge pull request #8930 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
caf4502
Create README.md
deepthi1107 Nov 30, 2021
4f98d62
Create README.md
ashish-reddy-20-08 Nov 30, 2021
49434ec
Merge pull request #8931 from deepthi1107/Datascience_With_Python
prathimacode-hub Nov 30, 2021
7fca44e
SQL Injection
gitsdeepak Nov 30, 2021
d0aa01f
Merge pull request #8932 from ashish-reddy-20-08/Datascience_With_Python
prathimacode-hub Nov 30, 2021
52254a4
added Technical Interview Questions-Stack & Queues
Tanushree-coder Nov 30, 2021
40e19a0
Quad Hash
Mahi1901 Nov 30, 2021
6d9ce9f
Update README.md
Tanushree-coder Nov 30, 2021
9937a9f
Update readme.md
Mahi1901 Nov 30, 2021
ad0d8a4
Update readme.md
Mahi1901 Nov 30, 2021
2897f00
Merge branch 'girlscript:Database' into Database
gitsdeepak Nov 30, 2021
70aee87
Update readme.md
Mahi1901 Nov 30, 2021
0e8dc4e
SQL Views and Indexes
gitsdeepak Nov 30, 2021
6bcb1bd
Merge pull request #8909 from Mahi1901/Mahi1901-patch-2
Saviour1001 Nov 30, 2021
336adc1
Acyclic Graph
Mahi1901 Nov 30, 2021
f7fbffc
Merge pull request #8937 from Mahi1901/C_CPP
Saviour1001 Nov 30, 2021
8dc7e41
Rename Acyclic_graph (2).ipynb to Acyclic_graph.md
Mahi1901 Nov 30, 2021
24e87bd
Update Acyclic_graph.md
Mahi1901 Nov 30, 2021
07f6301
Update readme.md
Suvraneel Nov 30, 2021
3278ef2
Update readme.md
Suvraneel Nov 30, 2021
baee301
Update readme.md
Suvraneel Nov 30, 2021
9e3f74b
Update Technical Interview Questions - Stack & Queues.md
Tanushree-coder Nov 30, 2021
22f6a14
Made the required changes
stutimohta20 Dec 1, 2021
6fa22ef
Create contributors.yml
Suvraneel Dec 1, 2021
afbf025
Update contributors.yml
Suvraneel Dec 1, 2021
03d344b
Update Acyclic_graph.md
Mahi1901 Dec 1, 2021
45c0899
Merge pull request #8871 from stutimohta20/C_CPP
Suvraneel Dec 1, 2021
03d8278
Merge pull request #8836 from sakshi168/patch-8
Ash515 Dec 1, 2021
7ee6515
Update Acyclic_graph.md
Mahi1901 Dec 1, 2021
d1a19c2
Update readme.md
Mahi1901 Dec 1, 2021
1bdaa73
Merge branch 'C_CPP' into Mahi_cpp
Mahi1901 Dec 1, 2021
3b8b351
Merge pull request #8943 from Mahi1901/Mahi_cpp
Saviour1001 Dec 1, 2021
fb12ad8
Merge pull request #8934 from Tanushree-coder/Interview_Preparation
syedareehaquasar Dec 1, 2021
9573991
Merge pull request #8939 from Tanushree-coder/patch-1
syedareehaquasar Dec 1, 2021
569c261
Update README.md
syedareehaquasar Dec 1, 2021
7026071
Update README.md
syedareehaquasar Dec 1, 2021
e29880d
Final annotation
Suvraneel Dec 1, 2021
b3af43e
[JS] Topic: Frames (#8856)
utkarshakakade Dec 2, 2021
1636ce8
[JS] Topic: Proxy and reflect (#8863)
joshi-kaushal Dec 2, 2021
87c0260
Update README.md
prathimacode-hub Dec 2, 2021
f11afbb
Update README.md
prathimacode-hub Dec 2, 2021
4cec03f
Update README.md
prathimacode-hub Dec 2, 2021
8561088
Update README.md
prathimacode-hub Dec 2, 2021
0d577b9
Delete README.md
prathimacode-hub Dec 2, 2021
e01375d
Update README.md
prathimacode-hub Dec 2, 2021
6b18e85
Update README.md
prathimacode-hub Dec 2, 2021
50ebb7d
Update README.md
prathimacode-hub Dec 2, 2021
e08d021
Update README.md
prathimacode-hub Dec 2, 2021
ac82761
Update README.md
prathimacode-hub Dec 2, 2021
37f04a7
Update README.md
prathimacode-hub Dec 2, 2021
50bf07c
Delete README.md
prathimacode-hub Dec 2, 2021
1618367
Create README.md
deepthi1107 Dec 2, 2021
c954c4e
Create README.md
deepthi1107 Dec 2, 2021
40f31c4
Merge pull request #8945 from deepthi1107/Datascience_With_Python
prathimacode-hub Dec 2, 2021
3ed99ca
Update README.md
prathimacode-hub Dec 2, 2021
b72f901
Update i. SQL_Views.md
gitsdeepak Dec 2, 2021
7f5ec44
Update i. SQL_Injections.md
gitsdeepak Dec 2, 2021
7a34d3a
Merge pull request #8901 from Yash-Chandrani/yash_javadev
Satyam175 Dec 2, 2021
0d9626e
Merge branch 'girlscript:Database' into Database
gitsdeepak Dec 2, 2021
59df466
final
Suvraneel Dec 2, 2021
a36e664
Merge pull request #8889 from surjyaneeh/Statistics
fomalhauting Dec 4, 2021
978bc08
Merge pull request #8920 from gitsdeepak/Database
Ash515 Dec 4, 2021
5510a6a
Merge pull request #8951 from girlscript/C_CPP
gauravdas014 Dec 12, 2021
e71cc4a
Merge pull request #8952 from girlscript/Database
gauravdas014 Dec 12, 2021
616c1bc
Merge pull request #8953 from girlscript/Interview_Preparation
gauravdas014 Dec 12, 2021
f81c925
Revert "merge: Database"
gauravdas014 Dec 14, 2021
5be4c17
Merge pull request #8955 from girlscript/revert-8952-Database
gauravdas014 Dec 14, 2021
5284ecc
clean: CP
gauravdas014 Jan 5, 2022
9d16efe
Merge branch 'Competitive_Programming' into main
gauravdas014 Jan 5, 2022
2ca89a9
Merge branch 'main' of github.com:girlscript/winter-of-contributing i…
gauravdas014 Jan 5, 2022
14e9afd
clean: Backend With Java
gauravdas014 Jan 5, 2022
d394279
Merge branch 'Backend_Development_With_Java' into main
gauravdas014 Jan 5, 2022
b63ac89
fix: merge conflicts
gauravdas014 Jan 5, 2022
5307b6e
Merge branch 'Datascience_With_R' of github.com:girlscript/winter-of-…
gauravdas014 Jan 5, 2022
db682da
clean: DS with R
gauravdas014 Jan 5, 2022
dc5c234
fix: merge conflicts
gauravdas014 Jan 5, 2022
c9470ed
clean: Statistics
gauravdas014 Jan 5, 2022
b4b3351
Merge branch 'Statistics' of github.com:girlscript/winter-of-contribu…
gauravdas014 Jan 5, 2022
a23dff7
fix: merge conflicts
gauravdas014 Jan 5, 2022
a902469
clean: UI_UX
gauravdas014 Jan 5, 2022
a3ddb54
fix: UI-UX conflicts
gauravdas014 Jan 5, 2022
669e216
fix: merge conflicts
gauravdas014 Jan 5, 2022
32ef1b8
add: Andoird with Flutter
gauravdas014 Jan 5, 2022
5d0a090
fetch : Android with Kotlin
gauravdas014 Jan 5, 2022
8632c74
fetch: Android with Java
gauravdas014 Jan 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update i. SQL_Views.md
  • Loading branch information
gitsdeepak committed Dec 2, 2021
commit b72f90185d194e3b1dd70d9600c368d62f414fa9
216 changes: 180 additions & 36 deletions 8. SQL Views and Indexes/i. SQL_Views.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,192 @@
# SQL Injections
# SQL Views

> Views in SQL are kind of virtual tables. A view also has rows and columns as they are in a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain condition.

>SQL injection is a technique used to exploit user data through web page inputs by injecting SQL commands as statements. Basically, these statements can be used to manipulate the application’s web server by malicious users.
- SQL injection is a code injection technique that might destroy your database.
- SQL injection is one of the most common web hacking techniques.
- SQL injection is the placement of malicious code in SQL statements, via web page input.
In this article we will learn about creating , deleting and updating Views.

## Sample Tables:

Exploitation of SQL Injection in Web Applications
| StudentDetails |
| S_ID | NAME | ADDRESS |
| :--: | :--: | :--: |
| 1 | Harsh | Kolkata |
| 2 | Ashish | Durgapur |
| 3 | Pratik | Delhi |
| 4 | Dhanraj | Bihar |
| 5 | Ram | Rajasthan |

Web servers communicate with database servers anytime they need to retrieve or store user data. SQL statements by the attacker are designed so that they can be executed while the web-server is fetching content from the application server.It compromises the security of a web application.

#### Example of SQL Injection
Suppose we have an application based on student records. Any student can view only his or her own records by entering a unique and private student ID. Suppose we have a field like below:

#### Student id:
| StudentMarks |
| ID | NAME | MARKS | AGE |
| :--: | :--: | :--: | :--: |
| 1 | Harsh | 90 | 19 |
| 2 | Ashish | 50 | 20 |
| 3 | Pratik | 80 | 19 |
| 4 | Dhanraj | 95 | 21 |
| 5 | Ram | 85 | 18 |

And the student enters the following in the input field:
#### 12222345 or 1=1.

So this basically translates to :
SELECT * from STUDENT where
STUDENT-ID == 12222345 or 1 = 1
### CREATING VIEWS

Now this 1=1 will return all records for which this holds true. So basically, all the student data is compromised. Now the malicious user can also delete the student records in a similar fashion.
We can create View using CREATE VIEW statement. A View can be created from a single table or multiple tables.
#### Syntax:
CREATE VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE condition;

Consider the following SQL query.
view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows

SELECT * from USER where
USERNAME = β€œβ€ and PASSWORD=””
#### Examples:
- Creating View from a single table:
- In this example we will create a View named DetailsView from the table StudentDetails.
Query:
CREATE VIEW DetailsView AS
SELECT NAME, ADDRESS
FROM StudentDetails
WHERE S_ID < 5;

To see the data in the View, we can query the view in the same manner as we query a table.

SELECT * FROM DetailsView;
#### Output:

| NAME | ADDRESS |
| :--: | :--: |
| Harsh | Kolkata |
| Ashish | Durgapur |
| Pratik | Delhi |
| Dhanraj | Bihar |


- In this example, we will create a view named StudentNames from the table StudentDetails.
Query:
CREATE VIEW StudentNames AS
SELECT S_ID, NAME
FROM StudentDetails
ORDER BY NAME;

If we now query the view as,
SELECT * FROM StudentNames;

#### Output:

| S_ID | NAME |
| :--: | :--: |
| 2 | Ashish |
| 4 | Dhanraj |
| 1 | Harsh |
| 3 | Pratik |
| 5 | Ram |


- Creating View from multiple tables: In this example we will create a View named MarksView from two tables StudentDetails and StudentMarks. To create a View from multiple tables we can simply include multiple tables in the SELECT statement.
### Query:
CREATE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS, StudentMarks.MARKS
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;

To display data of View MarksView:
SELECT * FROM MarksView;

### Output:
| NAME | MARKS |
| :--: | :--: |
| Harsh | 90 |
| Pratik | 80 |
| Dhanraj | 95 |
| Ram | 85 |


### DELETING VIEWS

We have learned about creating a View, but what if a created View is not needed any more? Obviously we will want to delete it. SQL allows us to delete an existing View. We can delete or drop a View using the DROP statement.
### Syntax:
DROP VIEW view_name;

view_name: Name of the View which we want to delete.

### UPDATING VIEWS
There are certain conditions needed to be satisfied to update a view. If any one of these conditions is not met, then we will not be allowed to update the view.

1. The SELECT statement which is used to create the view should not include GROUP BY clause or ORDER BY clause.
2. The SELECT statement should not have the DISTINCT keyword.
3. The View should have all NOT NULL values.
4. The view should not be created using nested queries or complex queries.
5. The view should be created from a single table. If the view is created using multiple tables then we will not be allowed to update the view.

- We can use the CREATE OR REPLACE VIEW statement to add or remove fields from a view.
### Syntax:
CREATE OR REPLACE VIEW view_name AS
SELECT column1,coulmn2,..
FROM table_name
WHERE condition;

For example, if we want to update the view MarksView and add the field AGE to this View from StudentMarks Table, we can do this as:

CREATE OR REPLACE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS, StudentMarks.MARKS, StudentMarks.AGE
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;

If we fetch all the data from MarksView now as:
SELECT * FROM MarksView;
### Output:

| NAME | ADDRESS | MARKS | AGE |
| :--: | :--: | :--: | :--: |
| Harsh | Kolkata | 90 | 19 |
| Pratik | Delhi | 80 | 19 |
| Dhanraj | Bihar | 95 | 21 |
| Ram | Rajasthan | 85 | 18 |

- Inserting a row in a view:
We can insert a row in a View in a same way as we do in a table. We can use the INSERT INTO statement of SQL to insert a row in a View.
### Syntax:
INSERT INTO view_name(column1, column2 , column3,..)
VALUES(value1, value2, value3..);

view_name: Name of the View
### Example:
In the below example we will insert a new row in the View DetailsView which we have created above in the example of β€œcreating views from a single table”.
INSERT INTO DetailsView(NAME, ADDRESS)
VALUES("Suresh","Gurgaon");
If we fetch all the data from DetailsView now as,
SELECT * FROM DetailsView;
### Output:
| NAME | ADDRESS |
| :--: | :--: |
| Harsh | Kolkata |
| Ashish | Durgapur |
| Pratik | Delhi |
| Dhanraj | Bihar |
| Suresh | Gurgaon |

- Deleting a row from a View:
Deleting rows from a view is also as simple as deleting rows from a table. We can use the DELETE statement of SQL to delete rows from a view. Also deleting a row from a view first delete the row from the actual table and the change is then reflected in the view.
### Syntax:
DELETE FROM view_name
WHERE condition;

view_name:Name of view from where we want to delete rows
condition: Condition to select rows
### Example:
In this example we will delete the last row from the view DetailsView which we just added in the above example of inserting rows.

DELETE FROM DetailsView
WHERE NAME="Suresh";
If we fetch all the data from DetailsView now as,

SELECT * FROM DetailsView;
### Output:

| NAME | ADDRESS |
| :--: | :--: |
| Harsh | Kolkata |
| Ashish | Durgapur |
| Pratik | Delhi |

Now the malicious can use the β€˜=’ operator in a clever manner to retrieve private and secure user information. So instead of the above-mentioned query the following query when executed, retrieves protected data, not intended to be shown to users.

Select * from User where
(Username = β€œβ€ or 1=1) AND
(Password=”” or 1=1).

Since 1=1 always holds true, user data is compromised.

#### Impact of SQL Injection
The hacker can retrieve all the user-data present in the database such as user details, credit card information, social security numbers and can also gain access to protected areas like the administrator portal. It is also possible to delete the user data from the tables.
Nowadays, all online shopping applications, bank transactions use back-end database servers. So in-case the hacker is able to exploit SQL injection, the entire server is compromised.

#### Preventing SQL Injection

- User Authentication: Validating input from the user by pre-defining length, type of input, of the input field and authenticating the user.
- Restricting access privileges of users and defining as to how much amount of data any outsider can access from the database. Basically, user should not be granted permission to access everything in the database.
- Do not use system administrator accounts.