Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Приведите команду изменения таблицы. Опишите все ее параметры

Поиск

Для изменения таблиц используется команда Alter Table, позволяющая выполнить следующие операции:

Изменение столбца

ALTER TABLE имя_таблицы

ALTER COLUMN имя_поля новый_тип [NULL / NOT NULL ]

Новый_тип. Определяет тип данных, который должен иметь столбец после изменения.

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

NULL / NOT NULL. С помощью этих опций определяется, возможно ли будет хранение в измененном столбце неопределенных значений (Null).

Добавление столбца

ALTER TABLE имя_таблицы

ADD

(ОПИСАНИЕ ПОЛЯ 1,

ОПИСАНИЕ ПОЛЯ 2, …,

ОПИСАНИЕ ПОЛЯ N,

ОПИСАНИЕ ВЫЧ. ПОЛЯ 1,

ОПИСАНИЕ ВЫЧ. ПОЛЯ 2, …,

ОПИСАНИЕ ВЫЧ. ПОЛЯ N)]

Описание_поля. Эта конструкция определяет свойства столбца. Ее синтаксис и использование были рассмотрены в разделе «Определение столбцов».

Описание выч. поля. С помощью этого аргумента можно создать вычисляемые (computed) столбцы. Значения таких столбцов вычисляются каждый раз заново при обращении к ним. Более подробно описание и работа с вычисляемыми столбцами были рассмотрены ранее в этой главе в разделе «Создание таблиц» при описании аналогичного параметра.

Удаление столбца

ALTER TABLE имя_таблицы

DROP COLUMN имя_поля1, имя_поля2, …, имя_поляN

Эта конструкция применяется для удаления из таблицы столбцов. Нельзя удалить:

· реплицированные столбцы;

· индексированные столбцы;

· столбцы, для которых определены ограничения целостности Check, Unique, Primary Key или References;

· столбцы, для которых определено значение по умолчанию (Default)

11. Приведите общий вид команды Select. Опишите раздел [Параметры] этой команды

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

Полный синтаксис команды SELECT следующий:

SELECT [ПАРАМЕТРЫ] СПИСОК_ПОЛЕЙ FROM ИМЯ_ТАБЛИЦЫ

[WHERE УСЛОВИЯ]

[GROUP BY СПИСОК_ПОЛЕЙ]

[HAVING УСЛОВИЯ]

[ORDER BY СПИСОК_ПОЛЕЙ [ASC | DESC]]

[COMPUTE ВЫРАЖЕНИЕ]

12. Опишите раздел [Список полей] в команде Select. Как переименовать столбцы?

Рассмотрим подробно назначение каждого из параметров:

*. Указание этого символа повлечет включение в результат выборки всех столбцов таблицы, указанной в разделе FROM.

ИМЯ_СТОЛБЦА [AS НАЗВАНИЕ]. Подразумевает указание имени столбца, который должен быть включен в результат выборки.

[AS НАЗВАНИЕ]. С помощью этого параметра можно определять названия для столбцов.

Пример. Отобрать ФИО сотрудников. Поля переименовать.

SELECT FAM AS [ФАМИЛИЯ], IMYA AS [ИМЯ], OTCH AS ОТЧЕСТВО FROM SOTRUDNIKI

Поле можно переименовать также с помощью записи: НАЗВАНИЕ=ИМЯ_СТОЛБЦА.

Пример. Отобрать ФИО сотрудников. Поля переименовать.

SELECT [ФАМИЛИЯ]=FAM, [ИМЯ]=IMYA, [ОТЧЕСТВО]=OTCH FROM SOTRUDNIKI (начало)

13. Опишите задание условий в разделе [Where] запроса.

> больше;

>=,!< больше или равно;

< меньше;

<=,!> меньше или равно

Ключ поиска для текстовых полей берется в одинарные кавычки, для полей типа дата/время берется в кавычки и записывается в виде ‘ММ/ДД/ГГ’

Пример. Вывести список сотрудников, у которых фамилия начинается на А

SELECT * FROM SOTRUDNIKI WHERE FAM LIKE ‘A%’

Опишите принципы выполнения вычислений в запросах.

При создании запроса в списке полей могут указываться формулы. Формула может содержать знаки операций (+, -, *, /), числа, скобки и имена др. полей.

По умолчанию такое вычисляемое поле будет безымянным, поэтому для него нужно явно указывать имя.

В языке SQL имеются спец. функции позволяющие получать общие показатели по таблице

COUNT (*) – число строк

SUM (ПОЛЕ) – сумма

AVG (ПОЛЕ) – среднее

MIN(ПОЛЕ) – минимальное

MAX (ПОЛЕ) – максимальное

Пример. Пусть имеются данные о товаре: название и цена в у.е. Вывести название, цену в у.е., цену в гривнах, цену в гривнах с НДС. Отобразить данные тех записей, у которых цена в у.е. >100

SELECT NAZV AS [НАИМЕНОВАНИЕ ТОВАРА], CENA AS [ЦЕНА В У.Е], CENA*5.05 AS [ЦЕНА В ГРН], CENA*5.05 +CENA*5.05*0.2 AS [ЦЕНА В ГРН С НДС] FROM TOVARY WHERE CENA >100

Опишите принципы группировки и сортировки данных в запросах. Примеры

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

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

GROUP BY СПИСОК_ПОЛЕЙ

При группировке если в списке полей кроме формул имеются обычные поля таблицы, то все они через запятую должны быть указаны в разделе GROUP BY.

Пример: Определить максимальный, минимальный и средний оклад для мужчин и женщин на предприятии.

SELECT POL, MAX(OKLAD), MIN(OKLAD), AVG(OKLAD) FROM SOTRUDNIKI GROUP BY POL

В списке полей первым указывается поле для группировки, а далее нужные функции.

Пример: Определить средний оклад по каждому отделу на предприятии.

SELECT OTDEL, AVG(OKLAD) FROM SOTRUDNIKI GROUP BY OTDEL

Приведите команду запроса для вставки в таблицу новой записи.

Все строки в SQL вводятся с использованием команды модификации INSERT. В самой простой форме, INSERT использует следующий синтаксис:

INSERT INTO ИМЯ_ТАБЛИЦЫ

VALUES (ЗНАЧЕНИЕ1, ЗНАЧЕНИЕ2, …, ЗНАЧЕНИЕN)

Имя таблицы должно быть предварительно определено, а каждое значение в списке значений, должно совпадать с типом данных столбца, в который оно вставляется. Значения, конечно же, вводятся в таблицу в поименном порядке, поэтому первое значение с именем, автоматически попадает в столбец 1, второе в столбец 2, и так далее.

Пример. В таблицу Sotrudniki, имеющую поля Табельный номер, Фамилия, Имя, Отчество, Дата рождения, Пол, Оклад добавить новую запись.

INSERT INTO SOTRUDNIKI

VALUES (126, ‘ФРОЛОВ’, ‘ЕВГЕНИЙ’, ‘МИХАЙЛОВИЧ’, ‘06/15/1968’, ‘М’, 1580)

Приведите команду запроса на обновления данных в полях таблицы.

Для изменения данных в строке таблицы используется команда

UPDATE ИМЯ_ТАБЛИЦЫ

SET ПОЛЕ1=ЗНАЧЕНИЕ1, ПОЛЕ2=ЗНАЧЕНИЕ2, …, ПОЛЕN=ЗНАЧЕНИЕN

[WHERE УСЛОВИЕ]

Пример. На предприятии все оклады увеличились на 20 %. Обновите данные в таблице.

UPDATE SOTRUDNIKI

SET OKLAD=OKLAD+OKLAD*0.2

Приведите команду запроса для отбора данных в новую таблицу. Примеры.

В языке Transact-SQL существует возможность отбора данных из одной таблицы или таблиц в другую. При этом новая таблица создается автоматически. Для выполнения такой операции используют оператор Select с новым параметром Into.

Команда имеет вид

SELECT СПИСОК_ПОЛЕЙ INTO НОВАЯ_ТАБЛИЦА FROM ТАБЛИЦА

WHERE УСЛОВИЕ

GROUP BY ПОЛЯ

ORDER BY ПОЛЯ

Пример. Из таблицы Sotrudniki отобрать ФИО сотрудников с окладом выше среднего. Результат поместить в в новую таблицу Spisok

SELECT FAM, IMYA, OTCH INTO SPISOK FROM SOTRUDNIKI

WHERE OKLAD>(SELECT AVG(OKLAD) FROM SOTRUDNIKI)

Приведите команду запроса на удаление данных из таблицы? Пример

Вы можете удалять строки из таблицы командой модификации – DELETE. Она может удалять только введенные строки, а не индивидуальные значения полей. Сама команда имеет вид

DELETE FROM ИМЯ_ТАБЛИЦЫ

[WHERE УСЛОВИЕ]

Пример. Из таблицы Sotrudniki удалить записи сотрудников, родившихся до 1940 года

DELETE FROM SOTRUDNIKI

WHERE DATAR < ‘01/01/1940’

20. Опишите принципы работы с переменными в Transact-SQL: описание, присваивание, вывод. Переменной называется поименованная область памяти, к которой можно обращаться по имени. Каждая переменная имеет определенный тип данных и используется для хранения одной величины. Физически каждая переменная представляет один или более байт памяти, расположенные последовательно.

Прежде чем начать использовать переменную, ее необходимо создать – объявить. При объявлении переменной указывается имя и ее тип данных. Для объявления переменной предназначена команда:

Значения переменным также можно присваивать с помощью команды SELECT, позволяющей одновременно работать с множеством переменных:

SELECT @А=’ФЕДОРОВ’, @B=1.5, @C=’05/12/69’



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 250; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.10.207 (0.006 с.)