русс | укр

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

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

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

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


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

SELECT name, MAX(age) FROM people GROUP BY name ).


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


HAVING clauseАналог выражения WHERE, но выполняется над уже полученными из базы данными. С помощью HAVING хорошо выполняются агрегатные функции над относительно небольшими наборами даных. В этом случае будет идти работа не с целой таблицей, а только с выбранными данными

Упорядочение -- по умолчанию порядок, в котором появляются результаты выборки, не определен. Можно потребовать от базы данных, чтобы выводимые результаты были упорядочены по некоторой колонке. Например, если указать, что запрос должен упорядочить результаты по полю last_name , то результаты будут выведены в алфавитном порядке по значению поля last_name . Упорядочение осуществляется с помощью предложения ORDER BY:

ORDER BY column [ASC |DESC][, column2 [ASC |DESC], . . . ] Сортирует возвращаемые данные по заданному столбцу (или столбцам). Если указать DESC, данные будут отсортированы по убыванию. По умолчанию принята сортировка в возрастающем порядке, который можно задать явно при помощи ключевого слова ASC.

Пример: SELECT name, age FROM people ORDER BY age DESC

В ORDER BY для ссылок на столбцы, выбранные для вывода информации, можно использовать либо имена столбцов, либо их псевдонимы, либо их позиции (местоположения). Нумерация позиций столбцов начинается с 1:

SELECT college, region, seed FROM tournament ORDER BY region, seed;

SELECT college, region AS r, seed AS s FROM tournament ORDER BY r, s;

SELECT college, region, seed FROM tournament ORDER BY 2, 3;

Functions -- MySQL предлагает богатый выбор встроенных функций. Также всегда можно с помощью команды CREATE FUNCTION добавить пользовательские функции (например, SELECT COS(angle) FROM triangle).

ROCEDURE name эта фраза позволяет указать процедуру, модифицирующую результаты запроса перед их возвратом клиенту.

Синтаксис оператора HANDLER



HANDLER tbl_name OPEN [ AS alias ]

HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...)

[ WHERE ... ] [LIMIT ... ]

HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }

[ WHERE ... ] [LIMIT ... ]

HANDLER tbl_name READ { FIRST | NEXT }

[ WHERE ... ] [LIMIT ... ]

HANDLER tbl_name CLOSE

Оператор HANDLER обеспечивает прямой доступ к интерфейсу обработчика таблиц MyISAM.

Первая форма оператора HANDLER открывает таблицу, делая ее доступной для последовательности команд HANDLER ... READ. Этот объект недоступен другим потокам и не будет закрыт, пока данный поток не вызовет HANDLER tbl_name CLOSE или сам поток не будет уничтожен.

Вторая форма выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT), для которой(ых) указанный индекс соответствует заданному условию и условие в выражении WHERE также выполняется. Если индекс состоит из нескольких частей (охватывает несколько столбцов), то составляющие его величины указываются в виде разделенного запятыми списка. Обеспечиваются величины только для нескольких первых столбцов.

Третья форма выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT), из таблицы; в порядке указания индексов в соответствии с условием WHERE.

Четвертая форма (без указания индексов)выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT), из таблицы, используя естественный порядок строк (как они хранятся в файле данных), в соответствии с условием WHERE. Эта форма работает быстрее, чем HANDLER tbl_name READ index_name, в тех случаях, когда желателен просмотр всей таблицы.

Оператор HANDLER ... CLOSE закрывает таблицу, открытую оператором HANDLER ... OPEN.

Оператор HANDLER представляет собой что-то наподобие низкоуровневой команды. Например, он не обеспечивает целостности таблицы. Т.е. HANDLER ... OPEN НЕ делает моментального снимка таблицы и НЕ блокирует ее. Отсюда следует, что после вызова команды HANDLER ...OPEN данные таблицы могут быть модифицированы (этим или любым другим потоком), а сами модификации в просмотрах таблицы при помощи HANDLER ... NEXT или HANDLER ... PREV могут появляться только частично.

Приемущества HANDLER вместо обычного SQL:

v Он быстрее чем SELECT, потому что:

Ø Выделенный код обработчика таблиц создается в потоке по вызову HANDLER open.

Ø Меньше синтаксического анализа.

Ø Нет нагрузки на оптимизацию и проверку.

Ø Таблицу не нужно блокировать между запросами.

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

v Гораздо легче переносить на MySQL приложения, которые используют интерфейс, подобный ISAM.

v Такой интерфейс позволяет просматривать базу данных способом, который не так легко (или в некоторых случаях и вовсе невозможно) реализовать с помощью SQL. Интерфейс HANDLER является более естественным способом получить данные, когда приходится иметь дело с интерактивными пользовательскими приложениями.

EXPLAIN SELECT statement -- Выводит информацию о структуре и порядке выполнения запроса SELECT. Это может быть полезно для определения эффективности использования ключей.

Пример



<== предыдущая лекция | следующая лекция ==>
Если выражение не задано, SELECT вернет все данные из выбранных таблиц (таблицы). | Подзапросы -- Язык SQL разрешает использовать в других операторах языка DML подзапросы, которые являются внутренними запросами, определяемыми оператором SELECT.


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


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

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

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


 


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

 
 

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

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