14 - Азы SQL - 2009.ppt
- Количество слайдов: 26
Азы языка SQL – это сокращенное название структурированного языка запросов (Structured Query Language). База данных (database) – хранилище для некоторого набора занесённых в компьютер данных. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.
Использование SQL для доступа к данным SQLзапрос СУБД Данные База данных Рисунок 1. 1. Использование SQL для доступа к базе данных
Реляционная модель данных Реляционной называется база данных, в которой все данные, доступные пользователю, организованы в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. Рисунок 1. 2. Реляционная база данных
Реляционная модель данных • Каждая таблица разделена на строки и столбцы. • Столбцы (один или более) упорядочены слева направо. Все значения данных в одном столбце имеют одинаковый тип. • Строки (ноль или более) не упорядочены. • На пересечении каждой строки с каждым столбцом содержится в точности одно значение данных. • Таблицы и столбцы имеют уникальные имена.
Азы языка SQL Выборка данных из БД осуществляется с помощью инструкции SELECT. Упрощенный синтаксис этой инструкции имеет следующий вид: SELECT [ALL|DISTINCT] (<список столбцов>|*) FROM <список таблиц> [WHERE <условие отбора или соединения>] [ORDER BY <список столбцов для сортировки>]
Предложение SELECT В предложении SELECT указывается список возвращаемых столбцов, разделённых запятыми. Для каждого элемента из этого списка в таблице результатов будет создан один столбец. Эти столбцы будут расположены в том же порядке, что и элементы в списке возвращаемых столбцов.
Предложение SELECT Возвращаемый столбец может представлять собой: ·имя столбца, содержащегося в одной из таблиц, указанных в предложении FROM; ·константу, показывающую, что в каждой строке результатов запроса должно содержаться одно и то же значение; ·выражение, показывающее, что СУБД должна вычислять значение, помещаемое в таблицу результатов запроса, по формуле, определенной в выражении.
Предложение SELECT Символ * означает, что в результат запроса включаются все столбцы из исходных таблиц запроса.
Предложение FROM В предложении FROM указывается список таблиц, разделённых запятыми.
Предложение WHERE В предложении WHERE задаются условия отбора строк. Рассмотрим пять отбора строк. основных вариантов условий ·Сравнение. Значение одного выражения сравнивается со значениями другого выражения. Для этого используются символы сравнения {=, <>, >, <, >=, <=}, которые имеют традиционный смысл.
Предложение WHERE (условия отбора) ·Проверка на принадлежность диапазону. выражение BETWEEN граница_снизу AND граница_сверху Условие истинно, когда проверяемое выражение попадает в заданный диапазон, включая границы диапазона.
Предложение WHERE (условия отбора) ·Проверка на членство в множестве. проверяемое_выражение IN (множество) Условие истинно, когда проверяемое выражение совпадает с одним из значений заданного множества. Множество может быть задано простым перечислением.
Предложение WHERE (условия отбора) ·Проверка на соответствие шаблону. проверяемое_выражение LIKE шаблон Условие LIKE истинно, если проверяемое выражение соответствует шаблону, и ложно в противном случае.
Предложение WHERE (условия отбора) Шаблон - строка, в которую может входить один или более подстановочных знаков. Эти знаки могут быть помещены в любое место шаблона и интерпретируются особым образом. В шаблон могут быть включены подстановочные знаки: o. Знак процента (%) - любая последовательность из нуля или более символов; o. Знак подчёркивания (_) – любой одиночный символ. Остальные символы, заданные в шаблоне, обозначают самих себя.
Предложение WHERE (условия отбора) ·Проверка на равенство значению NULL. имя_столбца IS NULL Условие IS NULL истинно, если в столбце содержится значение NULL.
Предложение WHERE (принцип работы) Все строки таблицы просматриваются одна за другой, и к каждой из них применяется условие отбора. В зависимости от полученного значения строка либо включается в результат запроса, либо отбрасывается: ·Если условие отбора имеет значение TRUE, строка будет включена в результаты запроса. ·Если условие отбора имеет значение FALSE или NULL, то строка исключается из результатов запроса.
Предложение ORDER BY В предложении ORDER BY задаётся список имён или порядковых номеров столбцов, разделённых запятыми. Этот список используется для сортировки результатов запроса. Если список содержит несколько элементов, то сортировка производится в таком же порядке – сначала результаты запроса сортируются по первому элементу списка, затем производится сортировка по второму элементу списка, сохраняя при этом предыдущую и т. д.
Предложение ORDER BY В предложении ORDER BY можно выбрать возрастающий (ключевое слово ASC) или убывающий (ключевое слово DESC) порядок сортировки. Если столбец результатов запроса, используемый для сортировки, является вычисляемым, то у него нет имени, которое можно указать в предложении сортировки. В таком случае вместо имени столбца необходимо указать его порядковый номер. Одновременно можно использовать имена и номера столбцов, а также возрастающий и убывающий порядки сортировки.
Азы языка SQL id Students Name 1 Петров Иван 2 Федоров Николай 3 Сидорова Ольга 4 Николаев Антон 5 Двоечников Павел Avg 72, 3 53 67, 3 92, 3
Примеры SELECT Name, Avg FROM Students WHERE Avg >=71
Примеры SELECT Name, Avg FROM Students WHERE Avg BETWEEN 60 and 90 ORDER BY Avg
Примеры SELECT Name, Avg FROM Students WHERE Avg IS NULL
Азы языка SQL Существует три инструкции SQL, позволяющие изменять содержимое базы данных: §инструкция INSERT, посредством которой новые строки добавляются в таблицу; §инструкция DELETE, посредством которой строки удаляются из таблицы; §инструкция UPDATE, посредством которой обновляются данные, содержащиеся в таблице.
Азы языка SQL Синтаксис инструкции INSERT имеет следующий вид: INSERT INTO <имя таблицы> [(<список столбцов>)] VALUES (<список значений>) Синтаксис инструкции DELETE имеет следующий вид: DELETE FROM <имя таблицы> [WHERE <условие отбора>]
Азы языка SQL Синтаксис инструкции UPDATE имеет следующий вид: UPDATE <имя таблицы> SET <имя столбца> = <новое значение> [WHERE <условие отбора>]
Примеры DELETE FROM Students WHERE Avg IS NULL INSERT INTO Students (Name, Avg) VALUES ('Ковалева Татьяна', 87. 7)