русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Язык SQL


Дата добавления: 2015-07-09; просмотров: 1449; Нарушение авторских прав


Язык SQL (эта аббревиатура должна произноситься как "сикуель", однако все чаще говорят "эс-ку-эль") в настоящее время является промышленным стандартом, который в большей или меньшей степени поддерживает любая СУБД, претендующая на звание "реляционной". В то же время SQL подвергается суровой критике как раз за недостаточное соответствие реляционным принципам (см. например, статью Х. Дарвина и К.Дейта Третий манифест, опубликованную в журнале СУБД N 1 за 1996 год).

В SQL определены два подмножества языка:

· SQL-DDL (Data Definition Language) - язык определения структур и ограничений целостности баз данных. Сюда относятся команды создания и удаления баз данных; создания, изменения и удаления таблиц; управления пользователями и т.д.

· SQL-DML (Data Manipulation Language) - язык манипулирования данными: добавление, изменение, удаление и извлечение данных, управления транзакциями.

Операторы языка SQL строятся с применением:

· зарезервированных ключевых слов;

· идентификаторов (имен) таблиц и столбцов таблиц;

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

· идентификаторов (имен) операций и функций, используемых в выражениях.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

· SELECT (выбрать)

· INSERT (вставить)

· UPDATE (обновить)

· DELETE (удалить)

Начнем с базовых операций реляционных баз данных. Таковыми являются:

· выборка(Restriction)

· проекция(Projection)

· соединение(Join)

· объединение(Union)

Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.



SELECT * FROM country

Получить все строки таблицы Country

COUNTRY CURRENCY
USA Dollar
England Pound
Canada CdnDlr
Switzerland SFranc
Japan Yen
Italy Lira
France FFranc
Germany D-Mark
Australia ADollar
Hong Kong HKDollar
Netherlands Guilder
Belgium BFranc
Austria Schilling
Fiji FDollar

 

SELECT * FROM countryWHERE currency = "Dollar".

Получили подмножество строк таблицы Country,удовлетворяющее условию Currency = "Dollar"

Результат последней операции выглядит следующим образом:

COUNTRY CURRENCY=============== ==========USA Dollar

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

SELECT currency FROM country.

Получили списокденежных единиц

CURRENCY==========DollarPoundCdnDlrSFrancYenLiraFFrancD-MarkADollarHKDollarGuilderBFrancSchillingFDollar

 

Найти денежную единицу Японии

CURRENCY==========Yen

 

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

SELECT first_name, last_name, proj_nameFROM employee, projectWHERE emp_no = team_leader

Получить список руководителей проектов

FIRST_NAME LAST_NAME PROJ_NAME
Ashok Ramanathan Video Database
Pete Fisher DigiPizza
Chris Papadopoulos AutoMap
Bruce Young MapBrowser port
Mary S. MacDonald Marketing project 3

 

Операция объединенияпозволяет объединять результаты отдельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов.

 

SELECT first_name, last_name, job_countryFROM employeeWHEREUNIONSELECT contact_first, contact_last, country customer

Получить список работников и заказчиков, проживающих во Франции

FIRST_NAME LAST_NAME JOB_COUNTRY
Jacques Glon France
Michelle Roche France

 

Пример использования Insert

Используя перечисление значений, с указанием столбцов:

INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES (<Значение>,...)

Используя перечисление значений, без указания столбцов:

не работает если использовать с set identity_insert

INSERT INTO <название таблицы> VALUES (<Значение>,...)

Используя select:

INSERT INTO <название таблицы> SELECT <имя столбца>,... FROM <название таблицы>

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

Пример использования Update

UPDATE [ИмяБазыДанных1!]ИмяТаблицы1
SET Имя_Столбца1 = Выражение1
[, Имя_Столбца2 = Выражение2 ...]
WHERE УсловиеФильтра1 [AND | OR УсловиеФильтра2 ...]] UPDATE top(10) tbl_books SET price = 0 WHERE quantity = 0; UPDATE per­sons SET street = 'Nis­sesti­en 67', ci­ty = 'Sand­nes' WHERE lastname = 'Tjes­sem' AND firs­tna­me = 'Ja­kob'; UPDATE temp a SET deptno =(SELECT deptno FROM dept WHERE loc = ‘BOSTON’), (sal, comm) = (SELECT 1.1*AVG(sal), 1.5*AVG(comm) FROM temp b WHERE a.deptno = b.deptno) WHERE deptno IN (SELECT deptno FROM dept WHERE loc = ‘DALLAS’ OR loc = ‘DETROIT’);

 

«UPDATE temp a …» выполняет следующие операции:

· Модифицирует только тех служащих, которые работают в Dallas или Detroit

· Устанавливает значение колонки deptno в значение такое же, как и у служащих из Бостона

· Устанавливает жалованье каждого служащего в 1.1 раз больше среднего жалованья всего отдела

· Устанавливает комиссионные каждого служащего в 1.5 раза больше средних комиссионных всего отдела

Пример использования Delete

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

DELETE <Имя записи для удаления> -> FROM <Имя Таблицы1> JOIN <Имя Таблицы2> ON <условие объединения>;

Пример:

DELETE ab, b FROM Authors AS a, AuthorArticle AS ab, Articles AS b WHERE a.AuthID=ab.AuthID AND ab.ArticleID=b.ArticleID AND AuthorLastName='Henry';


<== предыдущая лекция | следующая лекция ==>
Триггеры (Triggers) | Установка MySQL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.256 сек.