SQL
Skrót od „Structured Query Language”.
SQL to język zapytań używany do uzyskiwania dostępu do informacji w bazie danych i ich modyfikowania. Twórcy stron internetowych używają SQL do łączenia witryn i aplikacji internetowych z bazami danych, tworząc dynamiczne strony internetowe, które przy każdym załadowaniu mogą wyświetlać aktualne informacje. SQL to standardowy język zapytań do baz danych, używany przez wiele różnych systemów zarządzania bazami danych, takich jak Oracle Database i MySQL.
Witryny i aplikacje internetowe używają instrukcji SQL do wykonywania zapytań w relacyjnych bazach danych, które przechowują dane w tabelach, wierszach (reprezentujących wpisy w bazie danych) i kolumnach (zawierających atrybuty tych wpisów). Na przykład witryna handlu elektronicznego, która zarządza zapasami w bazie danych, przechowuje swoje produkty w tabeli — każdy produkt jako wiersz, a informacje o każdym produkcie, takie jak cena, rozmiar i kolor, jako kolumny. Gdy wyświetlasz stronę produktu, serwer internetowy używa języka skryptowego, takiego jak PHP, aby wykonać jedno lub więcej zapytań SQL i pobrać informacje o tym produkcie, a następnie umieszcza wyniki na stronie HTML. Jeśli cena produktu zmieni się w bazie danych, nowa informacja pojawi się przy następnym załadowaniu tej strony.
Najczęściej używanym poleceniem SQL jest SELECT, które pobiera informacje z tabeli. Może pobrać wszystkie informacje z tabeli albo tylko rekordy spełniające określone kryteria. Na przykład poniższe zapytanie pobiera wszystkie rekordy klientów z określonego kodu pocztowego.
SELECT * FROM Customers WHERE Zip='55400';
Poniższe zapytanie pobiera cenę konkretnego produktu:
SELECT Price FROM Products WHERE ProductID=47988;
Polecenie UPDATE zmienia informacje przechowywane w określonej tabeli, wierszu i kolumnie. INSERT INTO tworzy nowe rekordy, natomiast DELETE FROM usuwa rekord.
NOTE: Jeśli twórca witryny nie sprawdza prawidłowo danych wprowadzanych przez użytkowników i nie kontroluje dostępu do baz danych, witryna może być podatna na atak typu SQL injection. SQL injection umożliwia atakującemu wysyłanie do bazy danych złośliwych instrukcji SQL, które normalnie nie byłyby dozwolone — na przykład pobranie pełnej listy nazwisk, adresów i numerów kart kredytowych klientów.
Sprawdź swoją wiedzę