фитнесклуб, карта фитнес клуба, fitnes
Pioneer DEH-7200SD
-
200916 Aug
SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. То есть SELECT - это основной оператор "вывода" данных из базы MYSQL.
Полный синтаксис SELECT-операции:
SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows | rows OFFSET offset]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]
Не паникуйте! 60% из синтаксиса Вы никогда в жизни не будете использовать. Жирным я выделил то, что действительно нужно при использовании.
Описание функции на сайте dev.mysql.com сделано под разбирающегос я программиста а не для новичка. Поэтому начнем с простого.
Самый простой SELECT-запрос
SELECT * FROM table_name;
Выводит все данные из таблицы "table_name"
Чуть сложнее
SELECT id,name FROM table_name;
Выводятся только поля "id" и "name" из таблицы "table_name"
Оператор WHERE
Теперь добавляем оператор WHERE - добавляющий условия вывода
SELECT id,name FROM table_name WHERE id>5
Пераметр id должен быть больше 5
SELECT id,name FROM table_name WHERE id>5 AND id<20
Пераметр id должен быть больше 5 но меньше 20
SELECT id,name FROM table_name WHERE name="Катя"
Пераметр name должен быть равен строке "Катя", обратите внимание! Строки идут обязательно в кавычках, в то время как цифры могут идти без них. К тому же цифры в кавычках воспринимаются как строки и результат может не совпадать с ожиданием.
SELECT id,name FROM table_name WHERE name<>"Катя"
Пераметр name должен быть неравен строке "Катя"
SELECT id,name FROM table_name WHERE id>5 AND id<20 AND name<>"Катя"
Пераметр больше 5 но меньше 20 И name должен быть неравен строке "Катя"
SELECT id,name FROM table_name WHERE (id>5 AND id<20) OR name<>"Катя"
Пераметр больше 5 но меньше 20 ИЛИ name должен быть равен строке "Катя"
Оператор ORDER BY - сортировка
SELECT * FROM table ORDER BY id
аналог этого запроса (ASC сортировка по возрастанию - по умолчанию)
SELECT * FROM table ORDER BY id ASC
Обратная сортировка
SELECT * FROM table ORDER BY id DESC
Две сортировки по возрастанию
SELECT * FROM table ORDER BY id,name
Различные сортировки
SELECT * FROM table ORDER BY id DESC, name ASC
Оператор LIMIT - ограничение вывода
Оператор надо использовать если Ваша задача вывести определенное поличество строк.
Допустим нужно вывести первую строку содержащию максимальный ID:
SELECT * FROM table ORDER BY id DESC LIMIT 1;
Две строки (1-2)
SELECT * FROM table ORDER BY id DESC LIMIT 2;
Десять строк (1-10)
SELECT * FROM table ORDER BY id DESC LIMIT 10;
Пропустить первые 5 строк и вывести 10 строк (6-15)
SELECT * FROM table ORDER BY id DESC LIMIT 5,10;
Пропустить 20 строк и вывести 6 (21-26)
SELECT * FROM table ORDER BY id DESC LIMIT 20,6;
Вывод данных из двух разных таблиц
Для объединения данных используется оператор FROM и добавляются условия в WHERE. Условия нужны чтобы данные совмещались строго, чтобы не получилась чехарда.
SELECT * FROM table1,table2 WHERE table1.id=table2.id
Что изменилось в этом запросе? Названия полей указываются с название таблицы,это нужно для того чтобы четко указывать на ячейку нужной нам таблицы. Также мы поступаем если в обоих таблицах есть ячейки с одинаковым названием, а вывести нам нужно ячейку из таблицы table1
SELECT table1.name, table2.id FROM table1,table2 WHERE table1.id=table2.id
Послесловие
Я рекомедую заключать названия столбцов и таблиц в "тильды". Вот пример:
SELECT `id`,`name` FROM `table` WHERE `id`>5 ORDER BY `name` DESC
-
Комментарии
-
1.
Алексей пишет: Comment » 15 Ноя 09 в 22:30
Спасибо, оказалось полезно
PS. не нашел ссылку на rss :((
-
2.
-
3.
Виталий пишет: Comment » 08 Июл в 01:04
Вот этот пример ORDER BY id DESC, name ASC
мне реально помог решить проблемку, спасибо!
-
1.
- Спайсмен
- Apple iTablet
- Fish3000 // Rublex
- Нотикофф
- СтоликоФФ
- Каштановый лес
- Александр Горбунов
- Кард-мастер
- Московская Ассоциация Риэлтеров (МАР)
- GSM-Лаборатория R2C
- Первый Строительный Трест
- РисиРыба
- Buzz
- Henry Bonnare
- DJ Пилот и DJ Слава Шелест
- Проматомкомплектация
- People3000
- FёrstFlowers
- DJ-Shop Россия
- Квадрум. Недвижимость России
- strtoupper не работает
- Автоповорот фотографии
- Вернуть правильное окончание
- Вставить лого в картинку
- Геокодинг при помощи Google Maps и PHP
- Как быстро получить MySQL дамп (dump) или закачать дамп базы при помощи SSH
- Не работает javascript onchange
- Повернуть изображение
- Проверить email
- Работы с Imagemagick + Magickwand PHP
- Сгенерировать строку
- Сделать GZIP-сжатие страницы
- Спрятать email
- Уменьшить фото PHP

Оставить комментарий