Приложение Morden означает: 90% CRUD, пользовательский интерфейс и отчеты, а также 10% комплексная оценка кода для десятка языков.

В мире 2,31 миллиарда пользователей социальных сетей, все мы любим слушать и делиться, мы любим платформу. Дело в том, что 90% операций, происходящих на платформе, связано с DB / Cache CRUD, в этой истории собрано 12 наиболее часто используемых комментариев MySQL ROW, чтобы помочь понять и найти все, что нам нужно о ROW.

Содержание

  1. Создать строку
  2. Запрос по условию
  3. Запрос по заказу
  4. Запрос по limi, смещение
  5. Псевдоним, AS
  6. Агрегатная функция
  7. *Группа по
  8. Обновить строку
  9. Удалить строку
  10. Столбец предупреждений (добавить новый столбец)
  11. *Иностранный ключ
  12. * Выбрать с помощью JOIN

Чтобы иметь базу данных по умолчанию перед таблицей операций внутри базы данных

mysql> SHOW DATABASES;
mysql> USE yourdatabse;
mysql> CREATE TABLE IF NOT EXISTS products (
         productID    INT UNSIGNED  NOT NULL AUTO_INCREMENT,
         productCode  CHAR(3)       NOT NULL DEFAULT '',
         name         VARCHAR(30)   NOT NULL DEFAULT '',
         quantity     INT UNSIGNED  NOT NULL DEFAULT 0,
         price        DECIMAL(7,2)  NOT NULL DEFAULT 99999.99,
         quantity     INT UNSIGNED  NOT NULL DEFAULT 0,
         PRIMARY KEY  (productID)
       );

1 - Создать строку

Вставить строку с полными значениями столбца

mysql> INSERT INTO products VALUES (1001, 'PEN', 'Pen Red', 5000, 1.23);
Query OK, 1 row affected (0.00 sec)

Вставка NULL в столбец auto_increment приводит к max_value + 1

mysql> INSERT INTO products VALUES (NULL, 'PEN', 'Pen Red', 5000, 1.23);
Query OK, 1 row affected (0.00 sec)

Чтобы вставить строку со значениями в поле Отсутствующее значение или только выбранные столбцы

mysql> INSERT INTO products (productCode, name, quantity, price) VALUES ('PEC', 'Pencil 2B', 10000, 0.48),;
Query OK, 1 row affected (0.00 sec)

2 - Запрос по условию

Показывать

List all the rows of the specified columns
mysql> SELECT * FROM products;
List all the rows of the specified columns
mysql> SELECT productID, name FROM products

Операторы сравнения - =, ‹,›

mysql>  SELECT * FROM products WHERE price >1;
mysql>  SELECT * FROM products WHERE productCode = 'PEN';

Логические операторы - AND, OR, NOT, XOR

mysql>  SELECT * FROM products WHERE productCode = 'PEN' AND price >1;

Содержат операторы —IN, NOT IN

mysql>  SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');

Между операторами - МЕЖДУ, НЕ МЕЖДУ

mysql>  SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');

ЕСТЬ NULL, НЕ ЕСТЬ

mysql>  SELECT * FROM products WHERE productCode IS NULL;

3 - Запрос по заказу

Упорядочивайте в возрастающем (ASC) (по умолчанию) или убывающем (DESC) порядке.

mysql> SELECT * FROM products WHERE price >1 ORDER BY price DESC;
mysql> SELECT * FROM products WHERE price >1 ORDER BY price DESC, quantity;

4 - Запрос по пределу, смещение

mysql> SELECT * FROM products LIMIT 2,1;
//limit =2
//skip =1

5 - Псевдоним, AS

mysql> SELECT productID AS ID, price AS `Unit Price`
mysql> SELECT * FROM products ORDER BY ID;

6 - Агрегатные функции

COUNT, MAX, MIN, AVG, SUM, STD, GROUP_CONCAT,

mysql> SELECT COUNT(*) AS `Count` FROM products;


+-------+
| Count |
+-------+
|     5 |
+-------+

7— * Группировать по

GROUP BY - это очень крутое оружие для создания организованных результатов и сортировки данных из столбцов запутывания.
GROUP BY сама по себе не имеет смысла. Он используется вместе с агрегатными функциями GROUP BY (такими как COUNT (), AVG (), SUM ()) для создания сводки по группе.

Первый пример

mysql> SELECT name, ANY_VALUE(price) FROM products GROUP BY name;

Многоколонный

mysql> SELECT productCode, MAX(price) AS `Highest Price`, MIN(price) AS `Lowest Price`
       FROM products
       GROUP BY productCode;


+-------------+---------------+--------------+
| productCode | Highest Price | Lowest Price |
+-------------+---------------+--------------+
| PEC         |          0.49 |         0.48 |
| PEN         |          1.25 |         1.23 |
+-------------+---------------+--------------+

Используйте функцию CAST (... AS ...) для форматирования чисел с плавающей запятой

mysql> SELECT productCode, MAX(price), MIN(price),
              CAST(AVG(price) AS DECIMAL(7,2)) AS `Average`,
              CAST(STD(price) AS DECIMAL(7,2)) AS `Std Dev`,
              SUM(quantity)
       FROM products
       GROUP BY productCode;

8 - Обновить строку

Обновить всю строку

mysql> UPDATE products SET price = price * 1.1;

Обновление по условию

mysql> UPDATE products SET quantity = quantity - 100 WHERE name = 'Pen Red';

Обновить несколько столбцов

mysql> UPDATE products SET quantity = quantity + 50, price = 1.23 WHERE name = 'Pen Red';

9 - Удалить строку

Удалить все строки

mysql> DELETE FROM products;

Удалить по условию

mysql> DELETE FROM products WHERE name = 'Pen Red';

10 - Столбец предупреждений (добавить новый столбец)

mysql> ALTER TABLE products
       ADD COLUMN supplierID INT UNSIGNED NOT NULL;

11 - Создать столбец внешнего ключа

Чтобы добавить Внешний ключ в supplierID столбцы products дочерней таблицы suppliers родительской таблицы:

  1. добавить столбец supplierID с типом INT в таблицу продуктов
  2. установить все supplierID существующих записей
  3. установить supplierID в качестве столбца внешнего ключа с помощью связанной таблицы products в родительскую таблицу поставщиков
mysql> ALTER TABLE products
       ADD COLUMN supplierID INT UNSIGNED NOT NULL;
mysql> UPDATE products SET supplierID = 501;
mysql> ALTER TABLE products
       ADD FOREIGN KEY (supplierID) REFERENCES suppliers (supplierID);

12— * Выбрать с помощью JOIN

Магия JOIN (внешний ключ) - моя любимая часть MySQL. Поскольку я давно использую MongoDB, у его реляционного запроса есть проблема в крови. Был один раз, у нас был большой проект рефакторинга, который включал рефакторинг схемы, одна из самых больших проблем - преобразование отношения 1–1 в отношение 1 – n или n-n, это отнимает так много времени.

Мне нравятся внешний ключ и select, которые делают отношение n-n лучшим со времен нарезанного хлеба. Комбинированный JION-table1-table2-result сложный запрос всего одним SQL-запросом.

Соединения SQL используются для объединения строк из двух или более таблиц. По умолчанию JOIN - это INNER JOIN в MySQL, который при заданных ключевых словах затем выбирает все строки из обеих таблиц, пока есть является совпадением столбцов в обеих таблицах.

  1. По умолчанию JOIN - это INNER JOIN в MySQL.
  2. установить все supplierID существующих записей
  3. установить supplierID в качестве столбца внешнего ключа с помощью связанной таблицы products в родительскую таблицу поставщиков
mysql> SELECT products.name, price, suppliers.name 
       FROM products 
          JOIN suppliers ON products.supplierID =  suppliers.supplierID
       WHERE price < 5;

Вам также может понравиться

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

Ссылка:

Https://www.cyberciti.biz/faq/mysql-list-databases/

Https://www.ntu.edu.sg/home/ehchua/programming/sql/MySQL_Beginner.html

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

Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!