Главная  /  MySQL  /

MySQL - Зaпросы

    1. Выбирает ВСЕ данные в таблице tbl_name. SELECT * FROM tbl_name;

    2. Выведет количество записей в таблице tbl_name. mysq-count.php 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; Внимание! Старайтесь указывать конкретные колонки (как в примере 10). Это важно для того, чтобы запросы обрабатывались намного быстрее!

    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';

    Простые INSERT (новая запись) запросы

    1. Делает новую запись в таблице users, в поле name вставляет Сергей, а в поле age вставляет 25. Таким образом, в таблицу дописывается новая строки с данными значениями. Если колонок больше, то они оставшиеся останутся либо пустыми, либо с установленными по умолчанию значениями. INSERT INTO users (name, age) VALUES ('Сергей', '25');

    Простые UPDATE запросы к базе данных MySQL

    1. UPDATE – запрос, который позволяет ПЕРЕЗАПИСАТЬ значения полей или ДОПИСАТЬ что-то в уже существующей строке в БД. Например, есть готовая строка, но в ней нужно перезаписать параметр возраста, так как он изменился со временем.

    2. В таблице users ГДЕ id равно 3 значение поля age становится 18. UPDATE users SET age = '18' WHERE id = '3';

    3. Всё то же самое, что и в первом запросе, просто показан синтаксис запроса, где перезаписываются два поля и более. В таблице users ГДЕ id равно 3 значение поля age становится 18, а country Россия. UPDATE users SET age = '18', country = 'Россия' WHERE id = '3';

    Простые DELETE (удалить запись) запросы к базе данных MySQL

    1. Удаляет строку из таблицы users ГДЕ id равен 10. DELETE FROM users WHERE id = '10';

    Сложные запросы к базе данных MySQL

    1. ВЫБИРАЕТ колонки id,name,country В ТАБЛИЦАХ users,admins ГДЕ registration_date (дата) не старше 14 дней И activation НЕ РАВНО 0, СОРТИРОВАТЬ по registration_date в обратном порядке (новое в начале). SELECT id,name,country FROM users,admins WHERE TO_DAYS(NOW()) - TO_DAYS(registration_date) <= 14 AND activation != '0' ORDER BY registration_date DESC;

    2. пример так называемого запроса в запросе в SQL. Обновить возраст среди пользователей на 18+, где пол - мужской. Подобные варианты запроса не рекомендую. По личному опыту скажу, лучше создать несколько отдельных - они будут прорабатываться быстрее. UPDATE users SET age = '18+' WHERE age = ( SELECT age FROM users WHERE male = 'man');