Введение в SQL: Что такое SQL

?

SQL (Structured Query Langue) - язык реляционной базы данных. Он позволяет:

  1. Базовое создание и таблицы.
  2. Добавление записей в виде строк.
  3. Вопрос базы.
  4. Обновление.
  5. Изменение структуры таблицы: добавление, удаление столбцов
  6. .
  7. Управление правами пользователей базы данных.

Наиболее известной версией в Сети является MySQL, бесплатная реализация, которая используется, в частности, с PHP, но SQL также является языком многих других программ баз данных, среди которых PostgreSQL, Oracle, DB2, Access и SQL Server.

Основными заказами являются:

В SQL можно делать процедурные программы с итерациями и условиями.

Доступ к базе данных можно получить, выполнив команды, как в PHP, или с помощью визуального программного обеспечения, например phpMyAdmin, работающего на сервере или локально с XAMPP, а также со многими другими локальными серверными программами.

В этом учебнике будет использоваться MySQL с PHP, а также интерфейс phpMyAdmin.

Слово о SQL-инъекции

К сожалению, эта функция формирования предложений для выполнения запросов может помочь, если вы не берете на себя внедрение вредоносного кода, о чем вы должны быть предупреждены еще до написания первой строки кода.
Как работает инъекция? Это можно объяснить примером. Пользователь вводит текст в форму, и мы должны найти этот текст в базе с помощью команды SELECT, определение которой мы увидим в учебнике .
Предположим, пользователь вводит слово «оранжевый». Команда, построенная с данными формы, будет иметь такую форму.

SELECT * FROM stock WHERE fruit = orange 

Эта строчка будет искать в запасе плодов то, что есть как оранжевый. Теперь предположим, что пользователь вводит следующий текст:

«оранжевый DROP stock».

Вот новый запрос :

SELECT * FROM stock WHERE fruit = orange; DROP stock

Обработчик, интерпретирующий команды на основе ключевых слов, которые находятся в запросе, найдет команду DROP и очистит стоковую таблицу. Это SQL-инъекция. Для предотвращения подобных атак данные всегда помещаются в простые кавычки:

SELECT * FROM stock WHERE fruit = '$data' 

Кавычки означают, что данные интерпретируются как данные, а не как команды.

Универсальный язык

SQL-команды близки к естественному языку, это было целью языка, принципы которого были заложены Эдгаром Ф. Коддом, и взята IBM в SEQUEL (Structured English Query Language), позже переименованной в SQL. Однако первой коммерческой версией на базе SEQUEL стала Relational Software, ставшая со времен Oracle.

Стандарт ISO SQL-92 или SQL-2 был определен в 1992 году и широко используется.
Однако на смену ему пришли новые стандарты, обязательно реализованные на всех программных продуктах.
Стандарт ISO позволяет SQL:2006 управлять XML-файлами, включая импорт XML-данных в базу данных или экспорт их содержимого в XML.
Это в первую очередь те нормы, которые имеют значение. Независимо от используемого программного обеспечения, MySQL (или MariaDB), PostgreSQL или Oracle, или даже менеджеры говорят NoSQL как Кассандра, мы найдем тот же синтаксис, с незначительными различиями.