- •Введение в язык sql92.
- •О нотации грамматики языка sql.
- •Оператор select.
- •Выбор строк (фраза where).
- •Сортировка результата (фраза order by).
- •Стандартные обобщающие функции языка sql.
- •Группировка результата (фраза group by).
- •Примеры простой группировки.
- •Подзапросы и другие операции.
- •Многотабличные запросы.
- •Операции union, intersect, except.
- •Операции обновления базы данных.
- •Insert into table_name [ ( colomn_list ) ]
- •Values ( data_value_list )
- •Определение данных в языке sql.
- •Типы данных языка isq sql92.
- •Integer (можно сократить до int)
- •Скалярные операторы языка sql.
- •Создание баз данных.
- •Представления (виды).
Insert into table_name [ ( colomn_list ) ]
Values ( data_value_list )
Здесь параметр table_name (имя таблицы) может быть либо именем таблицы, либо именем представления (об этом позже). Параметрcolomn_list (список столбцов) есть список имен одного или более столбцов, разделённых запятыми. Параметр необъязательный, если он отсутствует, то предполагается порядок столбцов заданный в оператореCREATE TABLE (о нем потом...). Если в операторе INSERTуказан конкретный список имен столбцов, то любые опущенные в нем столбцы должны быть при создании объявленны как допускающие значениеNULL (за исключением использования для столбца параметра DEFAULT). Параметрdata_value_list должен соответствовать параметруcolomn_list следующим образом:
Количество элементов в обоих списках должно быть одинаковым.
Должно существовать однозначное соответствие порядка позиций элемента в обеих списках (имя поля столбца в строке и значения эьлго поля).
Типы данных элементов списка data_value_list должны бытьсовместимы с типами соответствующих столбцов.
Использование INSERT...VALUES.
INSERT INTO табл
VALUES(знач_столб_1, знач_столб_2, ..., знач_столб_N);
Имена столбцов таблицы указвать не объязательно, т.к. они совпадают по порядку. Напомним, что значения символьных литералов надо заключать в одинарные кавычки.
Вставка строки со значениями по умолчанию.
INSERT INTO табл (обяз_столб_1, обяз_столб_2, ..., обяз_столб_M,
VALUES(знач_столб_1, знач_столб_2, ..., знач_столб_M);
Указав список обязательных для ввода имен столбцов, мы можем не заботиться о остальных, которые принимаю значения по умолчанию. Разумется, что можно и не использовать список объязательных столбцов, а явно куазывать значение NULL.
INSERT INTO табл
VALUES(знач_столб_1, NULL, знач_столб_3, ..., NULL, знач_столб_N);
Использование INSERT...SELECT.
Вторая форма оператора INSERT позволяет скопировать множество строк одной таблицы в другую. При этом используется следующий формат оператора.
Предложение SELECT должно описывать любую форму операции выборки из базы данных, но структура таблицы результата должна в точности повторять последовательостьcolomn_list или схему таблицыtable_name. Все ограничения, указанные для первой формы, должны соблюдаться.
Модификация данных в тоблице (операция UPDATE).
Оператор UPDATE используется для изменения значений в существующей в базе данных таблице. Ниже описан его формат.
UPDATE table_name
SET colomn_name1 = data_value1 [ , colomn_name2 = data_value2 ... ]
[ WHERE search_condition ]
Необходимо указать имя таблицы в параметре table_name, в предложенииSET указать новые значения, а затем (если надо) определить в предложенииWHEREусловия выбора строкsearch_condition, в которых будут внесены изменения. Очевидно, что значения должны быть совместимы со своими столбцами по типу данных.
Обновление всех строк таблицы.
UPDATE табл
SET столб = 0.87 * столб;
Обновление некоторых строк таблицы.
UPDATE табл
SET столб1 = 1.1 * столб1
WHERE столб2 = ‘Programmer’;
Обновление некоторых столбцов таблицы.
UPDATE табл
SET столб1 = 1000, столб3=’proba’
WHERE столб2 = ‘Programmer’;
Удаление строк из таблицы (операция DELETE).
Оператор DELETE используется дляудаления строк изсуществующей в базе данных таблицы. Ниже описан его очень простой формат.
DELETE FROM table_name
[ WHERE search_condition ]