Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Операторы манипулирования данными




Операторы манипулирования данными предназначены для заполнения таблиц данными и для обновления данных (добавление, удаление, модифицирование данных).

 

Оператор Его назначение Краткий синтаксис оператора
INSERT Добавление новой записи в таблицу INSERT INTO <имя таблицы> [{<имя поля>},...] VALUES({<значение>},...)
DELETE Удаление записи из таблицы DELETE FROM <имя таблицы> [WHERE <условие>]
UPDATE Обновляет данные таблицы UPDATE <имя таблицы> SET{<имя поля>=<выражение>},... [WHERE <условие>]

 

Оператор INSERT

Задание списка столбцов в этом операторе необязательно тогда, когда вводится строка с заданием значений всех столбцов. При таком вводе предполагается, что информация будет вводиться в том порядке, в котором они описаны в операторе CREATE TABLE.

 

Если столбец при описании таблицы имеет признак NOT NULL, то оператор INSERT должен обязательно содержать данные для ввода в каждую строку этого столбца. Если в таблице для всех столбцов ввод обязателен, то каждая вводимая строка должна содержать полный перечень вводимых значений, а указание имен столбцов в этом случае можно опустить. В то же время, если имеется хотя бы один необязательный столбец, в который не вводится значение, задание списка имен столбцов – обязательно.

 

Пример5. Результат запроса

INSERT INTO СТУДЕНТЫ

VALUES (‘60502-1’, ‘ПЕТРОВ’, ‘ИВАН’, 1, 17, ‘УФФ’);

Выглядит следующим образом:

 

Пример6. Результат запроса

INSERT INTO ОЦЕНКИ_ЭКЗАМ (НОМЕР_ЗАЧ, КИТ, ФИЛОСОФИЯ, АНГЛИЙСКИЙ)

VALUES (‘60502-1’,5,9,10);

выглядит следующим образом:

 

Оператор DELETE

Данный оператор позволяет удалить одну или несколько строк из таблицы в соответствии с условиями отбора, которые задаются для удаляемых строк. Если условия отбора не задаются, то из таблицы удаляются все существующие в ней строки.

Пример7. Создать запрос на удаление студента Петрова из таблицы СТУДЕНТЫ.

DELETE FROM СТУДЕНТЫ

WHERE ФАМИЛИЯ=’ПЕТРОВ’;

 

Оператор UPDATE

Данная команда позволяет изменять, т.е. обновлять значения некоторых или всех полей в существующей строке или строках таблицы.

Пример8. Создать запрос, позволяющий для всех студентов, сведения о которых находятся в таблице СТУДЕНТЫ, изменить курс на значение 2.

UPDATE СТУДЕНТЫ

SET КУРС=2;

 

Для указания конкретных строк таблицы, значения полей которых должны быть изменены, указывают предложение с ключевым словом WHERE

Пример9. Создать запрос, позволяющий для всех студентов первого курса, сведения о которых находятся в таблице СТУДЕНТЫ, изменить курс на значение 2.

UPDATE СТУДЕНТЫ

SET КУРС=2

WHERE КУРС=1;

Операторы извлечения данных

Данная категория представлена одним оператором SELECT. Назначение этого оператора состоит в выборке и отображении данных одной или нескольких таблиц.

 

Оператор Его назначение Краткий синтаксис оператора
SELECT Извлечение данных из базы данных SELECT [DISTINCT½ALL] {<выражение>},…½*FROM {<имя таблицы>},... [WHERE <условие>] [ORDER BY {<имя поля> [ASC½DESC]},...] [GROUP BY {<имя поля>},...] [HAVING <условие>]

 

После слова SELECT через запятую перечисляются наименования полей, содержимое которых запрашивается. Обязательным ключевым словом является слово FROM (из). За ключевым словом FROM указывается список разделенных запятыми имен таблиц, из которых извлекается информация.

 

Команда SELECT дает возможность проведения вычислений над полями, а также итоговых вычислений с использованием функций агрегирования SUM, AVG, COUNT, MAX, MIN. Она позволяет также создавать вложенные запросы.

 

Пример10.

SELECT ИМЯ, ФАМИЛИЯ

FROM СТУДЕНТЫ;

 

Приведенный запрос осуществляет выборку всех значений полей ИМЯ и ФАМИЛИЯ из таблицы СТУДЕНТЫ. Порядок следования столбцов соответствует порядку полей, указанному в запросе, а не их порядку во входной таблице СТУДЕНТЫ.

 

Если необходимо вывести значения всех столбцов таблицы, то можно вместо перечисления их имен использовать символ * (звездочка).

Пример11.

SELECT *

FROM СТУДЕНТЫ;

В данном случае результатом выполнения запроса будет вся таблица СТУДЕНТЫ.

 

Для исключения из результата SELECT-запроса повторяющихся записей используется ключевое слово DISTINCT (отличный).

Пример12.

SELECT DISTINCT ФАМИЛИЯ

FROM СТУДЕНТЫ;

В результате получим таблицу, в которой дубликаты строк исключены.

Ключевое слово ALL оказывает противоположное действие: при его использовании повторяющиеся строки включаются в состав выходных данных. Режим, задаваемый ключевым словом ALL, действует по умолчанию.

 

Использование в операторе SELECT предложения, определяемого ключевым словом WHERE (где), позволяет задавать выражение условия. Предложение WHERE определяет, какие строки (записи) указанных таблиц должны быть выбраны.

Пример13. Написать запрос, выполняющий выборку имен всех студентов с фамилией Петров, сведения о которых находятся в таблице СТУДЕНТЫ.

SELECT ФАМИЛИЯ, ИМЯ

FROM СТУДЕНТЫ

WHERE ФАМИЛИЯ = “ПЕТРОВ”;

 

В условиях, задаваемых в предложениях WHERE, могут использоваться операции сравнения, определяемые операторами = > < >= <= <>, а также логические операторы AND, OR, NOT.

Пример14. Запрос для определения имен и фамилий студентов, обучающихся на первом и пятом курсах, будет выглядеть следующим образом:

SELECT ИМЯ, ФАМИЛИЯ

FROM СТУДЕНТЫ

WHERE КУРС = 1 AND КУРС = 5;

 

При задании логического условия в предложении WHERE могут быть использованы операторы IN (равен любому из списка), NOT IN (не равен ни одному из списка), BETWEEN, LIKE, IS NULL.

Пример15. Получить из таблицы ОЦЕНКИ_ЭКЗАМЕН сведения о студентах, имеющих экзаменационные оценки по дисциплине КИТ только 7 и 8.

SELECT *

FROM ОЦЕНКИ_ЭКЗАМЕН

WHERE КИТ IN (7, 8);

 

Пример16. Получить сведения о студентах, не имеющих ни одной экзаменационной оценки по философии, равной 9 и 10.

SELECT *

FROM ОЦЕНКИ_ЭКЗАМ

WHERE ФИЛОСОФИЯ NOT IN (9, 10);

 

Оператор BETWEEN используется для проверки условия вхождения значения поля в заданный интервал. Граничные значения входят во множество значений, с которыми производится сравнение. Данный оператор может использоваться как для числовых, так и для символьных типов полей.

Пример17. Запрос на выбор записей о студентах, которые учатся на первых трех курсах, имеет вид:

SELECT *

FROM СТУДЕНТЫ

WHERE КУРС BETWEEN 1 AND 3;

 

Оператор LIKE просматривает строковые значения полей с целью определения, входит ли заданная в операторе LIKE подстрока (образец поиска) в символьную строку-значение проверяемого поля. Данный оператор применим только к символьным полям.

 

Для выборки строковых значений по заданному образцу подстроки можно применять шаблон искомого образца строки, использующий следующие символы:

§ Символ подчеркивания _, указанный в шаблоне, определяет возможность наличия в указанном месте одного любого символа;

§ Символ % допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длины.

Пример18. Написать запрос, выбирающий из таблицы СТУДЕНТЫ сведения о студентах, фамилии которых начинаются на букву П.

SELECT *

FROM СТУДЕНТЫ

WHERE ФАМИЛИЯ LIKE ”П%”;

 

Пример19. Написать запрос, рассчитывающий средний балл каждого студента.

SELECT НОМ_ЗАЧ, (КИТ+ФИЛОСОФИЯ+АНГЛИЙСКИЙ)/3

FROM ОЦЕНКИ_ЭКЗАМ;

Пример20. Написать запрос, подсчитывающий количество студентов, у которых оценка по философии 9.

SELECT COUNT(НОМЕР_ЗАЧ)

FROM ОЦЕНКИ_ЭКЗАМ

WHERE ФИЛОСОФИЯ=9;

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...