SQL

Основы запросов SQL

Итак, самые основные команды в SQL:

CREATE TABLE - Создать таблицу

INSERT INTO - добавить поле в таблицу
// Вставить в таблицу, если её там до сих пор нет, поле login - уникальный

INSERT IGNORE INTO `users` SET `login` = 'myname', `password` = 'mypassword';

// Вставить, а если уже есть - изменить.

INSERT INTO users(login, password) VALUES(\'login\', \'password\') ON DUPLICATE KEY UPDATE password=\'password\';

REPLACE INTO users (`login`, `password`) VALUES(\'login\', \'password\');

SELECT - запросить информацию с таблицы

UPDATE - редактировать записи в таблице

UPDATE `tbl_name` SET `items1` = 1, `items2` = 2 WHERE `published` = 1 AND `id` = id;

ALTER TABLE - внести изменения в существующую таблицу

DELETE FROM - удалить поля с таблицы.

Остановимся более подробно на следующих командах:

SELECT - является основным инструментом, когда вы хотите, запросить информацию из базы данных.

SELECT DISTINCT - выбрать уникальные значения

WHERE - команда, которая позволяет фильтровать результаты запроса в зависимости от условий, которые вы укажете.

LIKE и BETWEEN специальные операторы, которые могут быть использованы в предложении

WHERE AND и OR специальные операторы, которые можно использовать с тем, где для фильтрации запроса на двух или более условий.

ORDER BY - позволяет сортировать результаты запроса в восходящем или нисходящем порядке.

LIMIT позволяет указать максимальное число строк, которые вернет запрос. Это особенно важно в больших таблиц, которые имеют тысячи или даже миллионы строк.

Примеры запросов: SELECT * FROM movies WHERE imdb_rating >= 8; = равно != не равно > больше чем < меньше чем >= больше или равно <= меньше или равно
SELECT * FROM movies WHERE name LIKE \'Se_en\';
_ означает любой 1 элемент
SELECT * FROM movies WHERE name LIKE \'a%\'; % - групповой символ, который соответствует нулю или другим недостающим букв в шаблоне. %a или %А регистр-независим
SELECT * FROM movies WHERE name BETWEEN \'A\' AND \'J\'; BETWEEN - Между буквами, цифрами, датами
SELECT * FROM movies WHERE genre = \'comedy\' OR year < 1980; SELECT * FROM movies WHERE genre = \'comedy\' AND year < 1980; OR и AND логические "или" и "и"
SELECT * FROM movies ORDER BY imdb_rating DESC; ORDER BY - ASC или DESC - вывод от А до Я или от Я до А.
SELECT COUNT(*) FROM apps; COUNT () - функция, что принимает имя столбца в качестве аргумента и подсчитывает количество строк, в которых столбец NOT NULL.
SELECT price, COUNT(*) FROM apps GROUP BY price; SELECT category, SUM(downloads) FROM apps GROUP BY category; GROUP BY - фича в SQL, которую используют только с агрегатных функциях. Она используется в сотрудничестве с функцией SELECT, чтобы организовать одинаковые данные в группах. В результате получим набор, что состоит из двух колонок. По каждой цене будет выведено количество приложений.
SELECT SUM(downloads) FROM apps; SUM(downloads) - функция в SQL выводит сумму всех значений для указанной колонки
SELECT MAX(downloads) FROM apps; SELECT MIN(downloads) FROM apps; MAX () функция, которая принимает имя столбца в качестве аргумента и возвращает наибольшее значение в этом столбце. MIN () аналогичная функция, только возвращает наименьшее значение в этом столобце
SELECT AVG(downloads) FROM apps; AVG() - функция, которая высчитывает среднее число.
SELECT price, ROUND(AVG(downloads), 2) FROM apps GROUP BY price; ROUND() - функция округляет значение.
SELECT * FROM table WHERE CHAR_LENGTH(phone) < 10 CHAR_LENGTH - функция, что возвращает длину строки, измеренную в символах.

Детально в документации

Администратор

Хороший ученик видит ошибки своего учителя, но молчит о них почтительно, ибо самые эти ошибки служат ему в пользу и наставляют его на прямой путь