Простые SQL запросы - короткая справка и примеры. Табличные выражения
Содержание статьи
1.
Самые простые MySQL запросы
2.
Простые SELECT (выбрать) запросы
3.
Простые INSERT (новая запись) запросы
4.
Простые UPDATE (перезаписать, дописать) запросы
5.
Простые DELETE (удалить запись) запросы
6.
Простые DROP (удалить таблицу) запросы
7.
Сложные MySQL запросы
8.
MySQL запросы и переменные PHP
SHOW databases;
2. Выведет список ВСЕХ таблиц в Базе Данных base_name.
SHOW tables in base_name;
2. Простые SELECT (выбрать) запросы к базе данных MySQLSELECT – запрос, который выбирает уже существующие данные из БД. Для выбора можно указывать определённые параметры выбора. Например, суть запроса русским языком звучит так - ВЫБРАТЬ такие-то колонки ИЗ такой-то таблицы ГДЕ параметр такой-то колонки равен значению.1. Выбирает ВСЕ данные в таблице tbl_name.
SELECT * FROM tbl_name;
2. Выведет количество записей в таблице tbl_name.
SELECT count(*) FROM tbl_name;
3. Выбирает (SELECT) из(FROM) таблицы tbl_name лимит (LIMIT) 3 записи, начиная с 2.
SELECT * FROM tbl_name LIMIT 2,3;
4. Выбирает (SELECT) ВСЕ (*) записи из (FROM) таблицы tbl_name и сортирует их (ORDER BY) по полю id по порядку.
SELECT * FROM tbl_name ORDER BY id;
5. Выбирает (SELECT) ВСЕ записи из (FROM) таблицы tbl_name и сортирует их (ORDER BY) по полю id в ОБРАТНОМ порядке.
SELECT * FROM tbl_name ORDER BY id DESC;
6. Выбирает (SELECT
) ВСЕ (*) записи из (FROM
) таблицы users
и сортирует их (ORDER BY
) по полю id
в порядке возрастания, лимит (LIMIT
) первые 5 записей.
SELECT * FROM users ORDER BY id LIMIT 5;
7. Выбирает все записи из таблицы users
, где поле fname
соответствует значению Gena
.
SELECT * FROM users WHERE fname="Gena";
8. Выбирает все записи из таблицы users
, где значение поля fname
начинается с Ge
.
SELECT * FROM users WHERE fname LIKE "Ge%";
9. Выбирает все записи из таблицы users
, где fname
заканчивается на na
, и упорядочивает записи в порядке возрастания значения id
.
SELECT * FROM users WHERE fname LIKE "%na" ORDER BY id;
10. Выбирает все данные из колонок fname
, lname
из таблице users
.
SELECT fname, lname FROM users;
11.
Допустим у Вас в таблице пользовательских данных есть страна. Так вот если Вы хотите вывести ТОЛЬКО список встречающихся значений (чтобы, например, Россия не выводилось 20 раз, а только один), то используем DISTINCT. Выведет, из массы повторяющихся значений Россия, Украина, Беларусь. Таким образом, из таблицы users
колонки country
будут выведены ВСЕ УНИКАЛЬНЫЕ значения
SELECT DISTINCT country FROM users;
12. Выбирает ВСЕ данные строк из таблицы users
где age
имеет значения 18,19 и 21.
SELECT * FROM users WHERE age IN (18,19,21);
13.
Выбирает МАКСИМАЛЬНОЕ значение age
в таблице users
. То есть если у Вас в таблице самое большее значение age
(с англ. возраст) равно 55, то результатом запроса будет 55.
SELECT max(age) FROM users;
14. Выберет данные из таблицы users
по полям name
и age
ГДЕ age
принимает самое маленькое значение.
SELECT name, min(age) FROM users;
15. Выберет данные из таблицы users
по полю name
ГДЕ id
НЕ РАВЕН 2.
SELECT name FROM users WHERE id!="2";
3. Простые INSERT (новая запись) запросыINSERT – запрос, который позволяет ПЕРВОНАЧАЛЬНО вставить запись в БД. То есть создаёт НОВУЮ запись (строчку) в БД.1. Делает новую запись в таблице users , в поле name вставляет Сергей, а в поле age вставляет 25. Таким образом, в таблицу дописывается новая строки с данными значениями. Если колонок больше, то они оставшиеся останутся либо пустыми, либо с установленными по умолчанию значениями.
INSERT INTO users (name, age) VALUES ("Сергей", "25");
4. Простые UPDATE запросы к базе данных MySQLUPDATE – запрос, который позволяет ПЕРЕЗАПИСАТЬ значения полей или ДОПИСАТЬ что-то в уже существующей строке в БД. Например, есть готовая строка, но в ней нужно перезаписать параметр возраста, так как он изменился со временем.1. В таблице users age становится 18.
UPDATE users SET age = "18" WHERE id = "3";
2.
Всё то же самое, что и в первом запросе, просто показан синтаксис запроса, где перезаписываются два поля и более.
В таблице users
ГДЕ id равно 3 значение поля age
становится 18, а country
Россия.
UPDATE users SET age = "18", country = "Россия" WHERE id = "3";
5. Простые DELETE (удалить запись) запросы к базе данных MySQLDELETE – запрос, который удаляет строку из таблицы.1. Удаляет строку из таблицы users ГДЕ id равен 10.
DELETE FROM users WHERE id = "10";
6. Простые DROP (удалить таблицу) запросы к базе данных MySQLDROP – запрос, который удаляет таблицу.1. Удаляет целиком таблицу tbl_name .
DROP TABLE tbl_name;
7. Сложные запросы к базе данных MySQL Любопытные запросы, которые могут пригодиться даже опытным пользователямSELECT id,name,country FROM users,admins WHERE TO_DAYS(NOW()) - TO_DAYS(registration_date) ).
SELECT id, name FROM month WHERE days > 30
5. Расширенная фильтрация данных. Операторы AND и ORРанее мы использовали фильтрацию данных с использованием одного критерия. Для более сложной фильтрации данных можно использовать операторы AND и OR и операторов сравнения (=,,=,).
Здесь мы имеем таблицу, содержащую четыре самых продаваемых альбомов всех времен. Давайте выберем те из них, которые классифицируются как рок и у которых менее 50 миллионов проданных копий. Это можно легко сделать путем размещения оператора AND между этими двумя условиями.
SELECT * FROM albums WHERE genre = "рок" AND sales_in_millions DELETE
DELETE FROM tv_series WHERE id = 4
Будьте осторожными при написании инструкции DELETE и убедитесь, что условие WHERE присутствует, иначе все строки таблицы будут удалены! 13. Удаление таблицыЕсли мы хотим, чтобы удалить все строки, но оставить саму таблицу, то воспользуйтесь командой TRUNCATE:
TRUNCATE TABLE table_name;
В случае, когда мы на самом деле хотим, чтобы удалить и данные, и саму таблицу, то нам пригодится команда DROP:
DROP TABLE table_name;
Будьте очень осторожны с этими командами. Их нельзя отменить!/p>
На этом мы завершаем наш учебник по SQL! Мы многое о чем не рассказали, но то, что вы уже знаете, должно быть достаточно, чтобы дать вам несколько практических навыков в вашей веб-карьере.
Итак, в нашей БД forum есть три таблицы: users (пользователи), topics (темы) и posts (сообщения). И мы хотим посмотреть, какие
данные в них содержатся. Для этого в SQL существует оператор SELECT
. Синтаксис его использования следующий:
SELECT что_выбрать FROM откуда_выбрать;
Вместо "что_выбрать" мы должны указать либо имя столбца, значения которого хотим увидеть, либо имена нескольких столбцов через запятую, либо символ звездочки (*), означающий выбор всех столбцов таблицы. Вместо "откуда_выбрать" следует указать имя таблицы.
Давайте сначала посмотрим все столбцы из таблицы users:
SELECT * FROM users;
Вот и все наши данные, которые мы вносили в эту таблицу. Но предположим, что мы хотим посмотреть только столбец id_user (например, в прошлом уроке, нам надо было для заполнения таблицы topics (темы) знать, какие id_user есть в таблице users). Для этого в запросе мы укажем имя этого столбца:
SELECT id_user FROM users;
Ну, а если мы захотим посмотреть, например, имена и e-mail наших пользователей, то мы перечислим интересующие столбцы через запятую:
SELECT name, email FROM users;
Аналогично, вы можете посмотреть, какие данные содержат и другие наши таблицы. Давайте посмотрим, какие у нас существуют темы:
SELECT * FROM topics;
Сейчас у нас всего 4 темы, а если их будет 100? Хотелось бы, чтобы они выводились, например, по алфавиту. Для этого в SQL существует
ключевое слово ORDER BY
после которого указывается имя столбца по которому будет происходить сортировка.
Синтаксис следующий:
SELECT имя_столбца FROM имя_таблицы ORDER BY имя_столбца_сортировки;
По умолчанию сортировка идет по возрастанию, но это можно изменить, добавив ключевое слово DESC
Теперь наши данные отсортированы в порядке по убыванию.
Сортировку можно производить сразу по нескольким столбцам. Например, следующий запрос отсортирует данные по столбцу topic_name, и если в этом столбце будет несколько одинаковых строк, то в столбце id_author будет осуществлена сортировка по убыванию:
Сравните результат с результатом предыдущего запроса.
Очень часто нам не нужна вся информация из таблицы. Например, мы хотим узнать, какие темы были созданы пользователем sveta (id=4).
Для этого в SQL есть ключевое слово WHERE
, синтаксис у такого запроса следующий:
Для нашего примера условием является идентификатор пользователя, т.е. нам нужны только те строки, в столбце id_author которых стоит 4
(идентификатор пользователя sveta):
Или мы хотим узнать, кто создал тему "велосипеды":
Конечно, было бы удобнее, чтобы вместо id автора, выводилось его имя, но имена хранятся в другой таблице. В последующих уроках мы узнаем, как выбирать данные из нескольких таблиц. А пока узнаем, какие условия можно задавать, используя ключевое слово WHERE.
Оператор | Описание |
= (равно) | Отбираются значения равные указанному Пример: SELECT * FROM topics WHERE id_author=4; Результат: |
> (больше) | Отбираются значения больше указанного Пример: SELECT * FROM topics WHERE id_author>2; Результат: |
< (меньше) | Отбираются значения меньше указанного Пример: SELECT * FROM topics WHERE id_author |
>= (больше или равно) | Отбираются значения большие и равные указанному Пример: SELECT * FROM topics WHERE id_author>=2; Результат: |
100000000
Получаем список записей: страны, где количество людей больше 100 000 000. SQL запрос: вывод записей из таблицы с упорядочиванием SELECT id, city_title FROM table_name ORDER BY city_titleПолучаем список записей: города в алфавитном порядке. В начале А, в конце Я. SELECT id, city_title FROM table_name ORDER BY city_title DESC Получаем список записей: города в обратном (DESC ) порядке. В начале Я, в конце А. SQL запрос: подсчет количества записей SELECT COUNT(*) FROM table_nameПолучаем число (количество) записей в таблице. В данном случае НЕТ списка записей. SQL запрос: вывод нужного диапазона записей SELECT * FROM table_name LIMIT 2, 3Получаем 2 (вторую) и 3 (третью) запись из таблицы. Запрос полезен при создании навигации на WEB страницах. SQL запросы с условиямиВывод записей из таблицы по заданному условию с использованием логических операторов. SQL запрос: конструкция AND (И) SELECT id, city_title FROM table_name WHERE country="Россия" AND oil=1Получаем список записей: города из России И имеют доступ к нефти. Когда используется оператор AND , то должны совпадать оба условия. SQL запрос: конструкция OR (ИЛИ) SELECT id, city_title FROM table_name WHERE country="Россия" OR country="США"Получаем список записей: все города из России ИЛИ США. Когда используется оператор OR , то должно совпадать ХОТЯ БЫ одно условие. SQL запрос: конструкция AND NOT (И НЕ) SELECT id, user_login FROM table_name WHERE country="Россия" AND NOT count_comments SET { | } .,. .< COLUMN name> = < VALUE expresslon> [ WHERE < predlcate> | WHERE CURRENT OF < cursor name> (* только для вложения* ) ] ; UPDATE peers SET zone= "voip" ; # обновить все строки в столбце zone таблицы peers UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; UPDATE countries SET nm_ukr= ( SELECT del_countries. ukrainian FROM del_countries WHERE countries. nm_en= del_countries. english ) ;WordPress использование, настройка : в таблице wp_posts удалить все вхождения строки UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;DELETE FROM |