Advertisement
Underhing

Untitled

Nov 5th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.36 KB | None | 0 0
  1. SHOW DATABASES;
  2.  
  3. CREATE DATABASE STD;
  4.  
  5. use std;
  6.  
  7. CREATE TABLE ITEM (quantity int(11) NOT NULL, measure varchar(100) NOT NULL, price int(11) NOT NULL, last_delivery datetime NOT NULL, name text NOT NULL, item_number int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT);
  8. CREATE TABLE HELPER (item_number int(11) NOT NULL, inn INT NOT NULL);
  9. CREATE TABLE LIST (receipt_date date NOT NULL, shipping_date date NOT NULL, item_quantity int(11) NOT NULL, note_id int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, inn int(11) NOT NULL REFERENCES ITEM(item_number));
  10. CREATE TABLE PROVIDER (address text NOT NULL, phone varchar(20) NOT NULL, inn int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT);
  11.  
  12.  
  13. SHOW TABLES;
  14.  
  15. DESCRIBE LIST;
  16.  
  17.  
  18.  
  19. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (45,'литры',100,'2019-09-10 14:25','Кола');
  20. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (25,'литры',149,'2019-09-10 14:50','Пепси');
  21. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (43,'килограммы',550,'2019-09-10 14:10','Свинина');
  22. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (55,'килограммы',150,'2019-09-10 12:10','Пельмени');
  23. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (120,'килограммы',2000,'2019-09-10 10:10','Печенье');
  24. INSERT INTO ITEM (quantity, measure, price, last_delivery, name) VALUES (47,'тонны',10000,'2019-09-10 10:10','Соль');
  25.  
  26.  
  27.  
  28. INSERT INTO HELPER (item_number, inn) VALUES (1,1);
  29. INSERT INTO HELPER (item_number, inn) VALUES (2,2);
  30. INSERT INTO HELPER (item_number, inn) VALUES (3,3);
  31. INSERT INTO HELPER (item_number, inn) VALUES (4,4);
  32. INSERT INTO HELPER (item_number, inn) VALUES (5,5);
  33. INSERT INTO HELPER (item_number, inn) VALUES (6,6);
  34.  
  35. INSERT INTO HELPER (item_number, inn) VALUES (9,9);
  36.  
  37.  
  38. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 14:22', '2019-09-10 11:33', 444, 2);
  39. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 14:22', '2019-09-10 11:33', 211, 3);
  40. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 11:44', '2019-09-10 17:25', 11, 1);
  41. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 06:55', '2019-09-10 14:22', 22, 4);
  42. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 14:25', '2019-09-10 15:41', 33, 5);
  43. INSERT INTO LIST (receipt_date, shipping_date, item_quantity, inn) VALUES ('2019-09-10 14:11', '2019-09-10 13:25', 556, 6);
  44.  
  45.  
  46.  
  47. INSERT INTO PROVIDER (address, phone) VALUES ('Волгоград','658741');
  48. INSERT INTO PROVIDER (address, phone) VALUES ('Москва','6676786781');
  49. INSERT INTO PROVIDER (address, phone) VALUES ('Новосибирс','14220');
  50. INSERT INTO PROVIDER (address, phone) VALUES ('Тула','2524');
  51. INSERT INTO PROVIDER (address, phone) VALUES ('Санкт-Петербург','25077');
  52.  
  53.  
  54.  
  55. DELETE FROM HELPER WHERE inn = 1474; - удаление стоо
  56.  
  57. UPDATE PROVIDER SET address = 'Новосибирск' WHERE address = 'Новосибирс';
  58.  
  59.  
  60.  
  61.  
  62. DROP DATABASE STD;
  63.  
  64. SELECT * FROM PROVIDER//
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ALTER TABLE ITEM ADD TEST int(11) NOT NULL - добавить стобцы
  71.  
  72. ALTER TABLE ITEM MODIFY TEST varchar(100); - редактировать стобцы;
  73.  
  74. ALTER TABLE ITEM DROP COLUMN TEST - удалить стобцы;
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. SELECT * FROM ITEM;
  84. SELECT * FROM ITEM WHERE measure = 'килограммы';
  85. SELECT * FROM ITEM WHERE measure = 'килограммы' ORDER BY item_number DESC;
  86. SELECT * FROM PROVIDER WHERE address = 'Новосибирск' AND phone = 14220;
  87. SELECT name, MAX(quantity) FROM ITEM GROUP BY name;
  88. SELECT name, MAX(quantity) FROM ITEM GROUP BY name HAVING COUNT(*) > 1;
  89.  
  90.  
  91. SELECT COUNT(1) FROM ITEM;
  92.  
  93.  
  94. SELECT * FROM LIST INNER JOIN HELPER ON LIST.inn = HELPER.inn INNER JOIN ITEM ON ITEM.item_number = HELPER.inn;
  95. SELECT * FROM LIST LEFT OUTER JOIN HELPER ON LIST.inn = HELPER.inn;
  96. SELECT * FROM LIST RIGHT OUTER JOIN HELPER ON LIST.inn = HELPER.inn;
  97. SELECT * FROM LIST FULL OUTER JOIN HELPER ON LIST.inn = HELPER.inn;
  98. SELECT * FROM LIST CROSS JOIN HELPER;
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. \g DROP PROCEDURE IF EXISTS limit_on;
  107.  
  108.  
  109. ******************** ВЫВОД ОПРЕДЕЛЕННОГО КОЛИЧЕСТВА ЗАПИСЕЙ *************************
  110.  
  111. DELIMITER //
  112.  
  113. CREATE PROCEDURE `limit_on` (IN u_limit INT)
  114. BEGIN
  115. SELECT * FROM LIST LIMIT u_limit;
  116. END//
  117.  
  118. CALL limit_on(4)//
  119.  
  120. *********************** МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ В ТАБЛИЦЕ **********************
  121.  
  122. DELIMITER //
  123.  
  124. CREATE PROCEDURE `max_quantity` (OUT highest_salary INT)
  125. BEGIN
  126. SELECT MAX(quantity) INTO highest_salary FROM ITEM;
  127. END//
  128.  
  129. CALL max_quantity(@M)//
  130.  
  131. SELECT @M//
  132.  
  133.  
  134. *********************** КОЛИЧЕСТВО НОМЕРОВ У ПОСТАВЩИКОВ ИЗ 1 ГОРОДА ************************
  135.  
  136. DELIMITER //
  137.  
  138. CREATE PROCEDURE `phone_number` (INOUT phone_list INT, IN city VARCHAR(100))
  139. BEGIN
  140. SELECT COUNT(phone) INTO phone_list FROM PROVIDER WHERE address = city;
  141. END//
  142.  
  143. CALL phone_number(@phone_numbers, 'Москва')//
  144.  
  145. SELECT @phone_numbers//
  146.  
  147.  
  148.  
  149. *********************** ПОДСЧЕТ КОЛИЧЕСТВА ТОВАРОВ И ВЫВОД НУЖНО ЛИ ЗАКАЗЫВАТЬ ПОПОЛНЕНИЕ ************************
  150.  
  151. DELIMITER //
  152.  
  153. CREATE PROCEDURE `items_quantity` (OUT items_result VARCHAR(100))
  154. BEGIN
  155. DECLARE items_number INT;
  156. SELECT COUNT(*) INTO items_number FROM ITEM;
  157. IF items_number > 10
  158. THEN
  159. SET items_result = 'Записей больше 10';
  160. ELSE
  161. SET items_result = 'Записей меньше 10';
  162. END IF;
  163. END//
  164.  
  165. CALL items_quantity(@items_result)//
  166.  
  167. SELECT @items_result//
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. DROP PROCEDURE IF EXISTS quantity//
  180.  
  181. DELIMITER //
  182.  
  183. CREATE PROCEDURE `quantity` (IN item_name VARCHAR(100), OUT item_count INT)
  184. BEGIN
  185. SELECT SUM(quantity) INTO item_count FROM ITEM WHERE name = item_name;
  186. END//
  187.  
  188. CALL quantity('Кола', @item_count)//
  189.  
  190. SELECT @item_count//
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197. DROP PROCEDURE IF EXISTS phones//
  198.  
  199. DELIMITER //
  200.  
  201. CREATE PROCEDURE `phones` (IN city VARCHAR(100))
  202. BEGIN
  203. SELECT phone FROM PROVIDER WHERE address = city AS result;
  204. END//
  205.  
  206. CALL phones('Москва')//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement