Виктор Гольцман - MySQL 5.0. Библиотека программиста
- Название:MySQL 5.0. Библиотека программиста
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.
MySQL 5.0. Библиотека программиста - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Например, выберите из таблицы Customers (Клиенты) строки, в которых значение в столбце name равно «Крылов»:
SELECT * FROM Customers WHERE name = \'КРЫЛОВ\
Результат этого запроса представлен в табл. 3.1. Таблица 3.1.Результат выполнения запроса
Как вы видите, при сравнении строк с помощью этого оператора регистр символов не учитывается.
Следующий оператор также проверяет равенство двух операндов.
Оператор x < = > уВ случае, когда оба операнда не равны NULL, данный оператор аналогичен оператору «равно». Если один из операндов равен NULL, оператор < = > возвращает значение 0 (FALSE), а если оба операнда равны NULL – значение 1 (TRUE).
Например, запросSELECT 100 = NULL, 100< = >NULL, NULL = NULL, NULL< = >NULL;
возвращает результат (табл. 3.2) и наглядно иллюстрирует различие между операторами = и < = >. Таблица 3.2.Результат выполнения запроса
Следующие операторы проверяют равенство операнда какому-либо логическому значению.
Оператор x IS y, где y – TRUE, FALSE, UNKNOWN или NULLВыражением IS TRUE возвращает 1 (TRUE), если x – отличное от нулячисло или отличная от нулевой («0000-00-00 00:00:00») дата и/или время, и 0 (FALSE) – в остальных случаях.
Выражением IS FALSE возвращает 1 (TRUE), еслихравен нулю либо нулевой дате и/или времени, и 0 (FALSE) – в остальных случаях.Примечание
Если x является символьной строкой, то перед сравнением с TRUE или FALSE эта строка преобразуется в число. Для этого отбрасываются все символы, начиная с первого, недопустимого в числовом значении, а начальная подстрока рассматривается как число. Если первый символ в значении – буква или пустая строка («»), то x приравнивается к нулю.
Выражениях IS UNKNOWN их IS NULL возвращают 1 (TRUE), еслихравен NULL, и 0 (FALSE) – в остальных случаях.
Например, запрос
SELECT 100 IS TRUE, 0 IS TRUE, \'2007-12-12\' IS TRUE, \'0000-00-00\' IS TRUE, NULL IS TRUE;
возвращает результат, представленный в табл. 3.3. Таблица 3.3.Результат выполнения запроса
ЗапросSELECT 100 IS FALSE, 0 IS FALSE, \'2007-12-12\' IS FALSE, \'0000-00-00\' IS FALSE, NULL IS FALSE;
возвращает результат, представленный в табл. 3.4. Таблица 3.4.Результат выполнения запроса
ЗапросSELECT 100 IS NULL, 0 IS NULL, \'2007-12-12\' IS NULL, \'0000-00-00\' IS NULL, NULL IS NULL;
возвращает результат, представленный в табл. 3.5. Таблица 3.5.Результат выполнения запроса
Примечание
Если столбец определен как DATE NOT NULL (или DATETIME NOT NULL), то значение этого столбца, равное «0000-00-00» (или «0000-00-00 00:00:00»), рассматривается оператором IS NULL как NULL. Например, если при создании таблицы Orders (Заказы) (см. листинг 2.4 в главе 2) задать для столбца date (дата) свойство NOT NULL, то запрос SELECT * FROM Orders WHERE date IS NULL; выведет строки, в которых дата заказа равна «0000-00-00».
Следующие операторы проверяют несовпадение двух операндов.
Операторы x! = y, x <> y
Оператор «не равно» возвращает следующие значения:
• 1 (TRUE) – если х и y различны;
• 0 (FALSE) – если х и y совпадают;
• NULL – если по крайней мере один из операндов равен NULL.
Например, запрос
SELECT * FROM Customers WHERE name! = \'КРЫЛОВ\
возвращает результат, обратный приведенному в табл. 3.1, то есть все строки, кроме строк с фамилией «Крылов» (табл. 3.6). Таблица 3.6.Результат выполнения запроса
Следующие операторы проверяют несовпадение операнда с каким-либо логическим значением.
Оператор x IS NOT y, где y – TRUE, FALSE, UNKNOWN или NULLВыражение х IS NOT TRUE возвращает 0 (FALSE), если х– отличное от нуля число или отличная от нулевой («0000-00-00 00:00:00») дата и/или время, и 1 (TRUE) – в остальных случаях.
Выражением IS NOT FALSE возвращает 0 (FALSE), еслиxравен нулю, нулевой дате и/или времени, и 1 (TRUE) – в остальных случаях.
Выражениях IS NOT UNKNOWN их IS NOT NULL возвращают 0 (FALSE), если x равен NULL, и 1 (TRUE) – в остальных случаях.
Например, запросSELECT 100 IS NOT TRUE, 0 IS NOT TRUE,
\'2007-12-12\' IS NOT TRUE, \'0000-00-00\' IS NOT TRUE,
NULL IS NOT TRUE;возвращает результат, представленный в табл. 3.7. Таблица 3.7.Результат выполнения запроса
ЗапросSELECT 100 IS NOT FALSE, 0 IS NOT FALSE,
\'2007-12-12\' IS NOT FALSE, \'0000-00-00\' IS NOT FALSE,
NULL IS NOT FALSE;возвращает результат, представленный в табл. 3.8. Таблица 3.8.Результат выполнения запроса
ЗапросSELECT 100 IS NOT NULL, 0 IS NOT NULL,
\'2007-12-12\' IS NOT NULL, \'0000-00-00\' IS NOT NULL,
NULL IS NOT NULL;возвращает результат, представленный в табл. 3.9. Таблица 3.9.Результат выполнения запроса
Как вы видите, операторы х IS NOT у и х IS у возвращают противоположные результаты.
Следующий оператор проверяет, меньше ли первый операнд, чем второй.
Оператор x < yОператор «меньше» возвращает следующие значения:
• 1 (TRUE) – если х меньше у;
• 0 (FALSE) – если х равен у или х больше у;
• NULL – если по крайней мере один из операндов равен NULL.
Например, запросSELECT * FROM Customers WHERE name<\'КРЫЛОВ\
возвращает пустой результат, поскольку «Крылов» – наименьшее в алфавитном порядке значение в столбце name (имя) таблицы Customers (Клиенты). Предшествующих ему значений в столбце нет, и, следовательно, ни одна строка не удовлетворяет условию отбора.
Следующий оператор проверяет, не превосходит ли первый операнд второго.
Оператор x < = yОператор «меньше либо равно» возвращает следующие значения:
• 1 (TRUE) – если х равно y или х меньше у;
• 0 (FALSE) – если х больше у;
• NULL – если по крайней мере один из операндов равен NULL.
Например, запросSELECT * FROM Customers WHERE name< = \'КРЫЛОВ\
возвращает результат, представленный в табл. 3.1.
Следующий оператор проверяет, больше ли первый операнд, чем второй.
Оператор x > yОператор «больше» возвращает следующие значения:
• 1 (TRUE) – если х больше у;
• 0 (FALSE) – если х равно у или х меньше у;
• NULL – если по крайней мере один из операндов равен NULL.
Например, запросSELECT * FROM Customers WHERE name>\'КРЫЛОВ\
возвращает результат, представленный в табл. 3.6.
Следующий оператор проверяет, является ли первый операнд большим либо равным по отношению ко второму.
Оператор x > = yОператор «больше либо равно» возвращает следующие значения:
• 1 (TRUE) – если х равно у или х больше у;
• 0 (FALSE) – если х меньше у;
• NULL – если по крайней мере один из операндов равен NULL.
Например, запросSELECT * FROM Customers WHERE name> = \'КРЫЛОВ\
возвращает все строки таблицы Customers (Клиенты) (табл. 3.10). Таблица 3.10.Результат выполнения запроса
Следующий оператор проверяет, находится ли первый операнд в промежутке между вторым и третьим.
Оператор x BETWEEN a AND bОператор «между» возвращает следующие значения:
• 1 (TRUE) – если a < х < b;
• 0 (FALSE) – если х меньше a или больше b;
• NULL – в остальных случаях.
Например, запросSELECT * FROM Customers WHERE name BETWEEN \'КРЫЛОВ\' AND \'OOO «Кускус»\
возвращает следующие строки таблицы Customers (Клиенты) (табл. 3.11). Таблица 3.11.Результат выполнения запроса
Читать дальшеИнтервал:
Закладка: