Создание базы данных в MySQL
Создание базы данных в MySQL
12 Федеральное агентство по делам образования и науки Российской Федерации Кафедра систем управления ОТЧЕТ по лабораторной работе по курсу «Базы данных» Тема: Создание базы данных в MySQL 1. Создание базы и таблиц. Откроем консоль MySQL. Введем имя пользователя и пароль. Выведем список созданных баз данных. mysql> SHOW DATABASES; Создадим новую базу данных с именем si mysql> CREATE DATABASE si; Просмотрим базы данных, и выберем ту, которую мы будем использовать. mysql> SHOW DATABASES; Сделаем созданную базу текущей, и будем в ней работать. mysql> USE si; Создадим таблицу “prodav”: mysql> CREATE TABLE prodav -> (name_prodav char(10), city_prodav char (10), comiss float, cod_prodav int(11)); Выведем описание типов созданной таблицы mysql> DESCRIBE prodav; Аналогично создадим и выведем описание для таблиц “pokup” и “sale”. mysql> CREATE TABLE pokup -> (cod_pokup int(11), name_pokup char(10), city_pokup char(10), rating int(11), cod _prodav int(11)); mysql> DESCRIBE pokup; mysql> CREATE TABLE sale (cod_s int(11), cost_s float, date_s date, cod_pokup int(11), cod_prodav int(11)); mysql> DESCRIBE sale; Посмотрим список созданных таблиц mysql> SHOW TABLES; Вводим данные в таблицы. Сначала заполним таблицу sale mysql> INSERT INTO sale -> VALUES (3003, 767, "2005-03-04", 2001, 1001); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO sale -> VALUES (3002, 1900, "2006-05-06", 2007, 1004); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3005, 5160, "2006-05-09", 2003, 1002); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3006, 1098, "2006-12-31", 2008, 1007); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3009, 1713, "2005-09-09", 2002, 1003); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3007, 75, "2006-05-08", 2004, 1002); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3008, 4723, "2005-09-11", 2006, 1001); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3010, 1309, "2006-05-01", 2004, 1002); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO sale -> VALUES (3011, 9981, "2004-03-05", 2006, 1001); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sale -> VALUES (3001, 18, "2007-02-15", 2008, 1007); Query OK, 1 row affected (0.00 sec) Проверим правильность заполнения таблицы, для этого произведем выборку. mysql> SELECT * FROM sale; Аналогично введем данные в таблицы “prodav” и “pokup”. mysql> INSERT INTO prodav -> VALUES ("Аксель", "Норильск", 0.1,1003); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO prodav -> VALUES ("Мыскин", "Луга", 0.11,1004); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO prodav -> VALUES ("Птицын", "Луга", 0.12,1001); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO prodav -> VALUES ("Ривкин", "Бабушкин", 0.15,1007); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO prodav -> VALUES ("Смирнов", "Сад", 0.13,1002); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM prodav; Заполним таблицу “pokup”. mysql> INSERT INTO pokup -> VALUES (2001, "Семенова","Челябинск",100,1001); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2002, "Игошина","Челябинск",200,1003); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2003, "Ли","Сад",200,1002); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2004, "Гресс","Быково",300,1002); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2006, "Клин","Луга",100,1001); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2008, "Кузнецов","Сад",300,1007); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO pokup -> VALUES (2007, "Петров","Ростов",100,1004); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM pokup; 2. Выполнение запросов. Запишем запрос, выведем данные из таблицы “prodav”, относящиеся к городам Бабушкин и Луга. mysql> SELECT * FROM prodav WHERE city_prodav="Бабушкин" OR city_prodav="Луга"; В таблице prodav, выведем строки, для которых 0.10<comiss<0.12 mysql> SELECT * FROM prodav WHERE comiss BETWEEN 0.1 AND 0.12; Выведем записи из таблицы продавцов, для которых фамилия находится от А до Н. mysql> SELECT * FROM prodav WHERE name_prodav BETWEEN 'А%' AND 'Н%'; Подсчитаем количество продавцов mysql> SELECT COUNT(DISTINCT cod_prodav) FROM sale; Определим стоимость продаж mysql> SELECT SUM(cost_s) FROM sale; Определим стоимость продаж у продавца Птицына mysql> SELECT SUM(cost_s) FROM sale WHERE (cod_prodav=(SELECT cod_prodav FROM prodav WHERE name_prodav="Птицын")); Выведем коды сделок, где стоимость сделки превысила среднее значение. mysql> SELECT cod_s FROM sale WHERE cost_s>(SELECT AVG(cost_s) FROM sale); Выведем записи в таблице сделок, для которых стоимость сделок превышает среднее значение за 2005 и последующие годы. mysql> SELECT * FROM sale WHERE cost_s>(SELECT AVG(cost_s) FROM sale WHERE YEAR(date_s)>2004); Выведем для каждого продавца, какие покупатели живут в одном городе с продавцом. mysql> SELECT prodav.name_prodav, pokup.name_pokup, pokup.city_pokup FROM prodav , pokup WHERE prodav.city_prodav=pokup.city_pokup; Выведем у каждого продавца, какие покупатели в каждом городе у него покупают. mysql> SELECT prodav.name_prodav, pokup.name_pokup, pokup.city_pokup FROM pokup, prodav WHERE pokup.cod_prodav = prodav.cod_prodav;
|