На этом шаге рассмотрим основные положения SQL.
Язык SQL нечувствителен к регистру. Для выделения ключевых слов SQL мы будем использовать верхний регистр.
Основными действиями, выполняемыми с базой данных, являются:
Для создания таблицы, показанной на рис. 1, используется команда CREATE TABLE, в которой указываются имена столбцов таблицы, их тип, а также задается первичный ключ:
CREATE TABLE addressbook ( number INTEGER PRIMARY KEY NOT NULL, name VARCHAR(15), phone VARCHAR(12), email VARCHAR(15) );
После создания таблицы можно добавлять данные. Для этого SQL предоставляет команду вставки INSERT INTO. Сразу после названия таблицы нужно указать в скобках имена столбцов, в которые будут заноситься данные. Сами данные указываются после ключевого слова VALUES:
INSERT INTO addressbook (number, name, phone, email) VALUES(1, 'Piggy', '+49 631322187', 'piggy@mega.de'); INSERT INTO addressbook (number, name, phone, email) VALUES(2, 'Kermit', '+49 631322181', 'kermit@mega.de');
Составная команда SELECT ... FROM ... WHERE осуществляет операции выборки и проекции. Выборка соответствует выбору строк, а проекция — выбору столбцов. Эта команда возвращает таблицу с частью исходных данных, созданную согласно заданным критериям. В этой команде три составных части:
SELECT email FROM addressbook WHERE name = 'Piggy';
Для изменения данных таблицы используется составная команда UPDATE ... SET ... WHERE. После названия таблицы в операторе SET указывается название столбца, в который будет заноситься нужное значение, и через знак = само это значение. Указав несколько таких выражений через запятую, можно обновить сразу несколько столбцов. Изменение данных выполняется в строках, удовлетворяющих условию, указанному в ключевом слове WHERE. В приведенном далее примере осуществляется замена адреса электронной почты Piggy с piggy@mega.de на piggy@supermega.de:
UPDATE addressbook SET email = 'piggy@supermega.de' WHERE name = 'Piggy';
Удаление строк из таблицы выполняется при помощи команды DELETE FROM ... WHERE. После ключевого слова WHERE следует критерий, согласно которому осуществляется удаление строк. Например, удалить адрес Piggy из таблицы можно следующим образом:
DELETE FROM addressbook WHERE name = 'Piggy';
Стандарт SQL поддерживает более развернутый синтаксис для этих команд, чем описывается здесь, не говоря уже о конкретных СУБД, производители которых обычно предоставляют расширенный синтаксис для наилучшего использования их особенностей.
На следующем шаге рассмотрим использование языка SQL в библиотеке Qt.