Перейти к содержимому

Как сделать запрос в mysql

  • автор:

Основные операции с данными

Для добавления данных в БД в MySQL используется команда INSERT , которая имеет следующий формальный синтаксис:

INSERT [INTO] имя_таблицы [(список_столбцов)] VALUES (значение1, значение2, . значениеN)

После выражения INSERT INTO в скобках можно указать список столбцов через запятую, в которые надо добавлять данные, и в конце после слова VALUES скобках перечисляют добавляемые для столбцов значения.

Например, пусть в базе данных productsdb есть следующая таблица Products:

CREATE DATABASE productsdb; USE productsdb; CREATE TABLE Products ( Id INT AUTO_INCREMENT PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price DECIMAL NOT NULL );

Добавим в эту таблицу одну строку с помощью следующего кода:

INSERT Products(ProductName, Manufacturer, ProductCount, Price) VALUES ('iPhone X', 'Apple', 5, 76000);

В данно случае значения будут передаваться столбцам по позиции. То есть стобцу ProductName передается строка «iPhone X», столбцу Manufacturer — строка «Apple» и так далее.

Важно, чтобы между значениями и типами данных столбцов было соответствие. Так, столбец ProductName представляет тип varchar , то есть строку. Соответственно этому столбцу мы можем передать строковое значение в одинарных кавычках. А стобец ProductCount представляет тип int , то есть целое число, поэтому данному столбцу нужно передать целые числа, но никак не строки.

После удачного выполнения в MySQL Workbench в поле вывода должны появиться зеленый маркер и сообщение «1 row(s) affected»:

INSERT и добавление данных в MySQL

Необязательно при добавлении данных указывать значения абсолютно для всех столбцов таблицы. Например, в примере выше не указано значение для стобца Id. Но поскольку для данного столбца определен атрибут AUTO_INCREMENT , то его значение будет автоматически генерироваться.

Также мы можем опускать при добавлении такие столбцы, которые поддерживают значение NULL или для которых указано значение по умолчанию, то есть для них определены атрибуты NULL или DEFAULT . Так, в таблице Products столбец ProductCount имеет значение по умолчанию — число 0. Поэтому мы можем при добавлении опустить этот столбец, и ему будет передаваться число 0:

INSERT Products(ProductName, Manufacturer, Price) VALUES ('Galaxy S9', 'Samsung', 63000);

С помощью ключевых слов DEFAULT и NULL можно указать, что в качестве значения будет использовать значение по умолчанию или NULL соответственно:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, DEFAULT);
INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, NULL);

Множественное добавление

Также мы можем добавить сразу несколько строк:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('iPhone 8', 'Apple', 51000, 3), ('P20 Lite', 'Huawei', 34000, 4), ('Galaxy S8', 'Samsung', 46000, 2);

В данном случае в таблицу будут добавлены три строки.

Краткое руководство. Подключение и запрос MySQL с помощью Azure Data Studio

В этом кратком руководстве показано, как использовать Azure Data Studio для подключения к серверу MySQL (размещенным локально, на виртуальных машинах, в управляемых MySQL в других облаках или на База данных Azure для MySQL — гибкий сервер), создавать базу данных и использовать инструкции SQL для вставки и запроса данных в базе данных.

Хотя идентификатор Microsoft Entra — это новое имя Azure Active Directory (Azure AD), чтобы предотвратить нарушение существующих сред, Azure AD по-прежнему остается в некоторых жестко закодированных элементах, таких как поля пользовательского интерфейса, поставщики подключений, коды ошибок и командлеты. В этой статье два имени являются взаимозаменяемыми.

Необходимые компоненты

Для работы с этим кратким руководством вам потребуется Azure Data Studio, расширение MySQL для Azure Data Studio и доступ к серверу MySQL.

  • Установите Azure Data Studio.
  • Установите расширение MySQL для Azure Data Studio.
  • Сервер MySQL. Вы можете создать управляемый сервер MySQL в Azure с помощью База данных Azure для MySQL — гибкий сервер или установить MySQL локально.

Подключение к MySQL

  1. Запустите Azure Data Studio.
  2. При первом запуске Azure Data Studio открывается диалоговое окно Подключение. Если диалоговое окно Подключение ion не открывается, щелкните значок создания Подключение ion в представлении SERVERS на вкладке Подключение ions: Screenshot of new connection icon in the Servers sidebar.
  3. Во всплывающем окне диалогового окна перейдите к типу Подключение ion и выберите MySQL в раскрывающемся списке.
  4. Введите имя сервера MySQL, выберите предпочитаемый метод проверки подлинности и введите учетные данные для подключения к серверу MySQL: Screenshot of new connection screen to connect to MySQL server.
Параметр Пример значения Description
Имя сервера localhost / exampleserver.mysql.database.azure.con Полное имя сервера.
Тип проверки подлинности Password Метод проверки подлинности для доступа к серверу MySQL. Этот параметр позволяет выбрать собственную проверку подлинности MySQL (пароль) и проверку подлинности Microsoft Entra (Azure Active Directory).
Имя пользователя exampleuser Имя пользователя, с которым вы хотите войти.
Пароль пароль Пароль для учетной записи, в которую выполняется вход.
Запомнить пароль Проверка Установите этот флажок, если не хотите вводить пароль при каждом подключении.
Имя базы данных Введите имя базы данных, если требуется, чтобы подключение указывалось для базы данных.
Группа серверов Этот параметр позволяет включить создаваемое подключение в определенную группу серверов.
Имя (необязательно) Не указывайте Этот параметр позволяет указать понятное имя для сервера.

После успешного подключения сервер откроется на боковой панели SERVERS .

Создание базы данных

Ниже описано, как создать базу данных с именем tutorialdb:

  1. Щелкните правой кнопкой мыши сервер MySQL на боковой панели SERVERS и выберите «Создать запрос«.
  2. Вставьте эту инструкцию SQL в открывшемся редакторе запросов.

CREATE DATABASE tutorialdb; 

Для выполнения инструкции вместо элемента Выполнить можно нажать клавишу F5 на клавиатуре.

После завершения запроса щелкните правой кнопкой мыши базы данных под сервером MySQL на боковой панели SERVERS и выберите «Обновить «, чтобы просмотреть учебники , перечисленные в узле «Базы данных «.

Создание таблицы

Ниже описано, как создать таблицу в учебнике:

Screenshot showing connection context drop-down in query editor.

  1. Измените контекст подключения на tutorialdb с помощью раскрывающегося списка в редакторе запросов.
  2. Вставьте следующую инструкцию SQL в редактор запросов и выберите «Выполнить«.

Примечание. Ее можно добавить в предыдущий запрос, либо можно перезаписать предыдущий запрос в редакторе. При выборе запуска выполняется только выделенный запрос. Если ничего не выделено, при нажатии кнопки «Выполнить» выполняются все запросы в редакторе.

-- Drop the table if it already exists DROP TABLE IF EXISTS customers; -- Create a new table called 'customers' CREATE TABLE customers( customer_id SERIAL PRIMARY KEY, name VARCHAR (50) NOT NULL, location VARCHAR (50) NOT NULL, email VARCHAR (50) NOT NULL ); 

Вставка данных

Вставьте следующий фрагмент кода в окно запроса и нажмите кнопку «Выполнить«.

-- Insert rows into table 'customers' INSERT INTO customers (customer_id, name, location, email) VALUES ( 1, 'Orlando', 'Australia', ''), ( 2, 'Keith', 'India', 'keith0@adventure-works.com'), ( 3, 'Donna', 'Germany', 'donna0@adventure-works.com'), ( 4, 'Janet', 'United States','janet1@adventure-works.com'); 

Запрос данных

  1. Вставьте в редакторе запросов следующий фрагмент и нажмите кнопку Выполнить.
-- Select rows from table 'customers' SELECT * FROM customers; 

Screenshot showing results of the SELECT query.

  • Будут отображены результаты запроса:
  • Кроме того, на боковой панели SERVERS перейдите вниз к таблице клиентов , щелкните таблицу правой кнопкой мыши и выберите «Лучшие 1000» , чтобы запросить данные.

    Next Steps

    • Узнайте о сценариях, доступных для MySQL в Azure Data Studio.

    Insert в MySQL — добавление данных в таблицу

    В статье расскажем, для чего нужна команда INSERT в MySQL и покажем как ей пользоваться на десяти практических примерах.

    Зачем нужна команда Insert

    Команда INSERT используется для того, чтобы вставлять новые данные в таблицы. Общий и наиболее часто используемый синтаксис выглядит так:

    INSERT into table_name [(column1, [, column2] . )] values (values_list) 

    Минимальный набор обязательных параметров: название таблицы и список значений. Но часто также указывают список столбцов, в которые нужно вставить данные. Есть еще много других необязательных параметров и возможностей. Самую основную часть из них мы посмотрим в этой статье.

    Создаем базу MySQL в облаке

    Прежде чем начать работать с командой Insert, нам нужна база данных MySQL. Чтобы не заниматься долгой установкой и настройкой, мы создадим управляемую БД на платформе Selectel. Если сервер MySQL у вас уже установлен, можете сразу переходить к следующему разделу.

    Заходим в личный кабинет, в разделе «Облачная платформа» переходим к «Базам данных». Нажимаем кнопку «Создать кластер».

    Создание базы данных в панели Selectel

    На следующем экране выбираем параметры новой базы. Выбираем «СУБД» — MySQL. Далее необходимо выбрать конфигурацию сервера: нам будет достаточно 2 vCPU, 4 ГБ оперативной памяти и 32 ГБ диска. Обратите внимание на раздел «Сеть» — у вас должна быть выбрана публичная сеть, чтобы к базе данных можно было подключиться из интернета. Остальные параметры можно оставить по умолчанию.

    Конфигурация для нового кластера БД

    Немного подождем, пока сервер создается. Когда он перейдет в статус ACTIVE, выберите его и зайдите в раздел настроек. Сначала перейдем на вкладку «Пользователи» и создадим нового пользователя, который сможет подключаться к базе данных. Не забудьте записать имя пользователя и пароль, они будут нужны для подключения.

    Создание пользователя

    Затем перейдем на следующую вкладку — «Базы данных». Нам нужно создать базу, в которой мы будем работать. Для этого нажмем кнопку «Создать базу данных». Запишите название созданной БД, оно нам будет нужно для подключения.

    Создание базы данных MySQL

    Когда база создастся, нужно дать нашему пользователю права на нее. На этой же вкладке нажмем кнопку «Добавить» и выберем недавно созданного пользователя.

    Добавление доступа к базе

    Все, БД настроена и к ней можно подключаться. Чтобы узнать параметры подключения, перейдите на вкладку «Настройки» и там в самом низу в разделе «Подключение» указаны нужные параметры. Вы можете пользоваться консольным клиентом или любой графической утилитой. Мы будем показывать на примере консольного клиента, поэтому строка для подключения будет выглядеть вот так:

    mysql --host=109.71.10.30 \ --port=6033 \ --user=chrystal \ --password \ --database=db 

    После ввода этой команды консоль попросит нас ввести пароль. Вот и все, мы подключились к БД.

    Структура таблиц для примеров

    Все дальнейшие команды мы будем показывать на простом примере из трех таблиц. Допустим, мы — сеть фруктовых магазинов. У нас есть таблица со списком магазинов, таблица со списком товаров (фруктов) и таблица, в которой мы записываем какой фрукт в каком магазине продается и по какой цене.

    С помощью команды Insert мы будем вставлять в эти таблицы новые данные разными способами. Итак, вот описание наших таблиц и начальные данные в них:

    +----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | +----+------------------+--------------+ 
    +----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | +----+------------------+ 
    • sale, таблица наличия товаров и цены:
    +----------+----------+-------+-------+ | store_id | fruit_id | price | count | +----------+----------+-------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | +----------+----------+-------+-------+ 

    Пример 1: базовое использование команды INSERT

    Начнем с самого простого использования команды INSERT в MySQL. Добавим новый фрукт в справочник фруктов. Команда будет выглядеть так:

    INSERT INTO fruits VALUES (4, 'Апельсин'); 

    Проверяем таблицу фруктов и видим, что появилась новая запись:

    +----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | +----+------------------+ 

    Мы не указывали названия столбцов, в которые хотим вставить данные. Поэтому они вставлялись по порядку, как они расположены в таблице. Поэтому нам нужно было указывать значения для всех столбцов, которые есть в таблице, даже если мы не хотим их заполнять.

    Но если в таблице много столбцов, нам может быть неудобно указывать много пустых значений. Поэтому существует другой способ записи, в котором нужно явно указывать названия столбцов.

    INSERT INTO stores (id, name) VALUES (4, 'Магазин 4'); 

    Обратите внимание, что в таблице stores у нас еще есть столбец с адресом, но мы его не указали. Посмотрим, что вставилось в таблицу:

    +----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | | 4 | Магазин 4 | NULL | +----+------------------+--------------+ 

    Мы видим указанные нами значения, а в поле address вставилось значение NULL.

    Пример 2: вставка нескольких строк

    За один запрос можно добавлять сразу несколько элементов. Например, мы хотим добавить три новых фрукта. Вместо того, чтобы писать три отдельных команды INSERT, мы воспользуемся вот таким способом записи:

    INSERT INTO fruits VALUES (5, 'Киви'), (6, 'Виноград'), (7, 'Груша'); 

    Посмотрим результат. Видим, что появилось сразу три новых записи:

    +----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | +----+------------------+ 

    Пример 3: использование SET

    В команде INSERT мы обычно указываем отдельно столбцы и отдельно значения. Но есть способ записи, похожий на команду UPDATE: указывать столбцы и их значения через символ равенства. Такой способ может быть удобен, когда в таблице много полей и значений. Так сразу видно, в какое поле какое значение подставляется.

    INSERT INTO sale SET store_id=1, fruit_id=1, price=89, count=3; 

    Проверим, что числа вставились именно в те столбцы, которые мы указали:

    +----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | +----------+----------+--------+-------+ 

    Пример 4: вставка с выражением

    Во всех предыдущих примерах мы указывали явное значение для столбца. Но в MySQL можно использовать арифметические выражения, например сумму, разность, умножение и так далее. Допустим, мы хотим добавить запись в таблицу sale о том что в магазине № 2 продаются апельсины по 137 рублей. Но потом мы решаем, что хотим сделать скидку 6%. Чтобы не высчитывать ее самим, мы можем использовать такой запрос:

    INSERT INTO sale VALUES (2, 4, 137*0.94, 5); 

    Мы умножаем 137 рублей на 0.94, это и есть скидка 6%. Проверим что у нас получилось:

    +----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | | 2 | 4 | 128.78 | 1 | +----------+----------+--------+-------+ 

    Пример 5: вставка данных из другой таблицы

    В качестве источника данных для вставки можно использовать другую таблицу. Предположим, у нас есть таблица fruits_new, где хранится список фруктов, которые мы заказали у поставщиков, но эти фрукты еще не продаются в наших магазинах. И вот наконец-то нам привезли два новых фрукта, которые мы так давно ждали. Но вместо того, чтобы переписывать эти названия в команду INSERT, мы можем просто использовать таблицу fruits_new и загружать данные из нее. Для этого нам понадобится оператор SELECT:

    INSERT INTO fruits SELECT * FROM fruits_new WHERE >Обратите внимание, что мы не указываем названия столбцов: из какого взять и в какой вносить. Поэтому такой способ подойдет только если структура таблиц одинакова, или в таблице-источнике меньше столбцов. Чаще всего используется другой синтаксис, когда столбцы указаны явно:
    INSERT INTO fruits (name, id) SELECT name, id FROM fruits_new WHERE >Проверим результат. После выполнения этих двух команд у нас должно появиться две новых строки:
    +----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | | 8 | Ананас | | 9 | Вишня | +----+------------------+ 

    Пример 6: вставка значения по умолчанию

    Обычно, если в MySQL для столбца не указано значение, то команда INSERT INTO подставляет NULL. Но если при создании таблицы у этого столбца было указано значение по умолчанию (default), тогда подставится именно оно. В нашей таблице sale у столбца count значение по-умолчанию равно единице. Проверим это, вставив новую запись без указания этого столбца:

    INSERT INTO sale (store_id, fruit_id, price) VALUES(4, 7, 50); 

    Проверяем результат. Мы не указывали значение для столбца count, но автоматически подставлилось значение 1.

    +----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | | 2 | 4 | 128.78 | 5 | | 4 | 7 | 50 | 1 | +----------+----------+--------+-------+ 

    Пример 7: вставка или обновление при дубликате

    В MySQL нельзя добавить строку в таблицу, у которой дублируется первичный ключ (primary key). В наших таблицах stores и fruits поле id — это первичный ключ. Поэтому если мы попробуем добавить в таблицу fruit значение с то MySQL выдаст ошибку.

    Но существует похожая на INSERT команда — REPLACE, которая умеет перезаписывать значения. Она работает как INSERT и UPDATE одновременно: если в таблице еще нет записи с таким первичным ключом, команда создаст новую запись; а если уже есть — заменит ее.

    REPLACE INTO fruits VALUES (1, 'Лимон'); 

    Проверяем результат и видим, что вместо яблока у нас появился лимон с тем же идентификатором.

    +----+------------------+ | id | name | +----+------------------+ | 1 | Лимон | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | | 8 | Ананас | | 9 | Вишня | +----+------------------+ 

    Пример 8: игнорирование ошибки при вставке

    Продолжим предыдущий пример. Допустим, записи в нашу таблицу вставляет бэкенд-сервис приложения. Мы хотим, чтобы сервис попробовал вставить новую запись, но если такой первичный ключ уже существует — ничего не обновлял и просто шел выполнять другой код. Но при совпадении ключей MySQL выдаст ошибку, а код на бэкенде прервется и ее нужно будет обрабатывать в сервисе. Гораздо проще добавить к команде INSERT ключевое слово IGNORE, чтобы при совпадении первичного ключа MySQL не генерировал ошибку:

    INSERT IGNORE INTO stores VALUES (1, 'Магазин 10', 'Адрес 10'); 

    Обратите внимание на сообщение, которое выдает MySQL, оно будет примерно таким: Query OK, 0 rows affected, 1 warning. Это значит, что запрос выполнился успешно, при этом он не затронул ни одну строки и есть одно предупреждение. Проверим результат: видим, что новых магазинов не появилось, а текущие не изменились.

    +----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | | 4 | Магазин 4 | NULL | +----+------------------+--------------+ 

    Пример 9: вставка записи в определенные партиции

    Если таблица разбита на партиции, то при вставке данных можно сразу указать, в какой именно раздел вставлять запись. Наша таблица sales разбита на несколько партиций согласно условию:

    • p0 для записей, у которых count от 0 до 100
    • p1 для записей, у которых count от 101 до 150.

    Чтобы вставить данные в первую партицию, воспользуемся командой:

    INSERT INTO sale PARTITION (p0) VALUES (1, 9, 130, 10); 

    Кроме того, в одной команде мы можем вставлять данные сразу в несколько партиций. Это делается так:

    INSERT INTO sale PARTITION (p0, p1) VALUES (4, 8, 90, 10), (3, 7, 50, 120); 

    Пример 10: изменение приоритета

    В некоторых движках таблиц MySQL (например, в MyISAM, MEMORY и MERGE) можно изменить приоритет вставки данных. Например, можно сделать так, что если таблицу считывает команда SELECT, то команда INSERT будет ждать ее завершения. Это делается с помощью ключевого слова LOW_PRIORITY:

    INSERT LOW_PRIORITY INTO sale VALUES (1, 6, 40, 3); 

    Если же нужно наоборот поднять приоритет, используется такая команда:

    INSERT HIGH_PRIORITY INTO sale VALUES (1, 6, 40, 3); 

    Но нужно иметь ввиду, что если к таблице активно идут SELECT-запросы, то команда INSERT с низким приоритетом может ждать своей очереди довольно долго.

    Заключение

    Мы рассмотрели команду INSERT и познакомились с десятью самыми основными способами ее использования. Вы узнали, как с помощью SQL команды можно добавить новую строку в таблицу или обновить существующую. Зная эти основы, вы можете начать писать INSERT-запросы для своей структуры БД.

    ALTER TABLE — изменение таблицы в SQL

    Работа с командой UPDATE — как обновить данные в таблице MySQL

    Зарегистрируйтесь в панели управления

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

    Читайте также:

    Инструкция

    Как создать веб-приложение на базе Telegram Mini Apps

    Инструкция

    Что делает команда chmod и как ее использовать в Linux

    Инструкция

    Как разработать gRCP-сервис на Go

    Примеры SQL запросов к базе данных MySQL

    Содержание статьи
    1. Самые простые MySQL запросы
    2. Простые SELECT (выбрать) запросы
    3. Простые INSERT (новая запись) запросы
    4. Простые UPDATE (перезаписать, дописать) запросы
    5. Простые DELETE (удалить запись) запросы
    6. Простые DROP (удалить таблицу) запросы
    7. Сложные MySQL запросы
    8. MySQL запросы и переменные PHP

    1. Самые простые SQL запросы

    1. Выведет список ВСЕХ баз.

    SHOW databases;

    2. Выведет список ВСЕХ таблиц в Базе Данных base_name.

    SHOW tables in base_name;

    2. Простые SELECT (выбрать) запросы к базе данных MySQL

    SELECT – запрос, который выбирает уже существующие данные из БД. Для выбора можно указывать определённые параметры выбора. Например, суть запроса русским языком звучит так — ВЫБРАТЬ такие-то колонки ИЗ такой-то таблицы ГДЕ параметр такой-то колонки равен значению.

    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;
    Внимание! Старайтесь указывать конкретные колонки (как в примере 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';

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

    INSERT – запрос, который позволяет ПЕРВОНАЧАЛЬНО вставить запись в БД. То есть создаёт НОВУЮ запись (строчку) в БД.

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

    INSERT INTO users (name, age) VALUES ('Сергей', '25');

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

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

    1. В таблице users ГДЕ id равно 3 значение поля age становится 18.

    UPDATE users SET age = '18' WHERE ;

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

    UPDATE users SET age = '18', country = 'Россия' WHERE ;

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

    DELETE – запрос, который удаляет строку из таблицы.

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

    DELETE FROM users WHERE ;

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

    DROP – запрос, который удаляет таблицу.

    1. Удаляет целиком таблицу tbl_name.

    DROP TABLE tbl_name;

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

    Любопытные запросы, которые могут пригодиться даже опытным пользователям

    SELECT id,name,country FROM users,admins WHERE TO_DAYS(NOW()) - TO_DAYS(registration_date) 
    

    Данный сложный запрос ВЫБИРАЕТ колонки id,name,country В ТАБЛИЦАХ users,admins ГДЕ registration_date (дата) не старше 14 дней И activation НЕ РАВНО 0, СОРТИРОВАТЬ по registration_date в обратном порядке (новое в начале).

    UPDATE users SET age = '18+' WHERE age = ( SELECT age FROM users WHERE male = 'man');

    Выше указан пример так называемого запроса в запросе в SQL. Обновить возраст среди пользователей на 18+, где пол - мужской. Подобные варианты запроса не рекомендую. По личному опыту скажу, лучше создать несколько отдельных - они будут прорабатываться быстрее.

    8. Запросы к базе данных MySQL и PHP

    В MySQL запросы в PHP странице можно вставлять переменные в качестве сравниваемых и тп значений. Пара примеров

    1. Выбирает все записи из таблицы users, где поле fname соответствует значению переменной $name.

    SELECT * FROM users WHERE fname='$name';

    2. В таблице users ГДЕ id равно 3 значение поля age изменяется на значение переменной $age.

    UPDATE users SET age = '$age' WHERE ;

    Внимание! Если Вам интересен какой-либо ещё пример, то пишите вопрос в комментарии!

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *