КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обзор языка SQL
В языке имеются операции как для определения данных, так и манипулирования ими. Сначала познакомимся с операциями определения данных. На рис. 2.6 показано, как с помощью средств языка SQL определяется база данных поставщиков и деталей.
Рис. 2.6. Определение БД поставщиков и деталей средствами языка SQL Как можно видеть, определение включает один оператор CREATE TABLE для каждой базовой таблицы. Каждый оператор CREATE TABLE задает имя создаваемой таблицы, имена и типы столбцов этой таблицы, а также первичный ключ таблицы и любые внешние ключи, присутствующие в ней, и некоторую другую информацию. Для определения столбцов можно использовать следующие встроенные типы: CHARACTER (n) INTEGER DATE INTERVAL BIT (n) SMALLINT TIME NUMERIC (r, q) FLOAT (p) TIMESTAMP DECIMAL(p,q) Допускается определять собственные типы для так называемых доменов, что будет рассмотрено позже. Определив базу данных, можно начинать выполнять в ней различные операции, задаваемые с помощью операторов манипулирования данными языка SQL: SELECT, INSERT, UPDATE и DELETE. В частности, можно выполнять с данными реляционные операции выборки, проекции и соединения, причем во всех этих случаях следует использовать один и тот же оператор манипулирования данными языка SQL: SELECT. Выборка: SELECT SN, PN, QTY FROM SP WHERE QTY < 150 Проекция: SELECT SN, CITY FROM S Соединение: SELECT S.SN, SNAME, STATUS, CITY, PN, QTY FROM S, SP WHERE S.SN = SP.SN Замечание: В данном случае показан пример указания уточненных имен (S.SN, SP.SN), которые допустимы всегда, а неуточненные имена допустимы, только если при этом не возникает неоднозначности. В языке SQL допустима сокращенная форма предложения SELECT, как показано в следующем примере: SELECT * -- или SELECT S.* (т.е. символ * может быть уточнен) FROM S Результат выполнения последнего запроса – вся таблица S, т.е. * - сокращение для списка всех имен столбцов. Комментарий в конце строки отделяется ‘--’. Перейдем к операциям обновления. Операции INSERT, UPDATE и DELETE обрабатывают данные на уровне множеств. Рассмотрим несколько примеров обновления на уровне множеств для базы данных поставщиков и деталей: INSERT INTO TMP -- Предполагается, что в TMP два столбца PN, WEIGHT SELECT PN, WEIGHT FROM P WHERE COLOR = ‘Красный’ Данный оператор вставляет в таблицу TMP номера деталей и соответствующие веса всех деталей с цветом ‘Красный’. UPDATE S SET STATUS = STATUS * 2 WHERE CITY = ‘Москва’ Приведенный выше оператор UPDATE удваивает статус всех поставщиков в ‘Москве’. Приведенный ниже оператор удаляет из таблицы SP все строки с информацией о детали с номером ‘P2’. DELETE FROM SP WHERE PN = ‘P2’
Дата добавления: 2014-01-13; Просмотров: 344; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |