суббота, 18 ноября 2017 г.

MySQL. Урок 20. Выборка данных с помощью оператора SELECT. Использование оператора LIKE для поиска на совпадение. Использование языка регулярных выражений для поиска с помощью функции REGEXP. Оператор IN.

-- NULL - нет значений.
SELECT * FROM country
WHERE indepyear IS NULL \G


-- LIKE - ищет сравнения и схожесть.
SELECT name FROM country
WHERE name LIKE '%rus%';

-- REGEXP
-- Начинается на fr.
SELECT name FROM country
WHERE name REGEXP '^fr';

-- Заканчивается на an
SELECT name FROM country
WHERE name REGEXP 'an$';

-- Поиск на соотвестиве e-mail адресам.
CREATE TABLE IF NOT EXISTS test_email (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(45) NOT NULL DEFAULT '',
email VARCHAR(45) NOT NULL DEFAULT '',
PRIMARY KEY (id)
);

INSERT INTO test_email VALUES
(NULL, 'Alex', 'alex@yandex.ru'),
(NULL, 'Al', 'al44@yandex.ru'),
(NULL, 'Ali', 'ali@gmailcom'),
(NULL, 'Bill', 'billhotmail.ru'),
(NULL, 'Anna', 'aann@yahoo+com');

SELECT * FROM test_email;

-- Выберем только правильные адреса.
SELECT * FROM test_email
WHERE email REGEXP
'^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$';

-- LIKE И REGEXP НЕ ИСПОЛЬЗУЮТ ИНДЕКСЫ, А ЗНАЧИТ ЗАПРОСЫ НА БОЛЬШИХ ОБЪЕМАХ ИНФОРМАЦИИ БУДУТ ДЛИТСЯ ДОЛГО.

-- Оператор IN.
SELECT * FROM city
WHERE id = 5 OR id = 10 OR id = 15;

-- Оператор IN позволяет сделать запись короче.
SELECT * FROM city
WHERE id IN (5, 10, 15);

Комментариев нет:

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

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html