first commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
-- # Changing table structure
|
||||
-- Передумови:
|
||||
-- Для виконання роботи слід створити, якщо нема базу даних Mangata_Gallo з таблицею Staff:
|
||||
-- #######################################################
|
||||
-- 1. Створіть, ящо немає, базу даних
|
||||
CREATE DATABASE IF NOT EXISTS Mangata_Gallo_1;
|
||||
-- -------------------------------------------------------
|
||||
-- 2. Оберіть базу даних USE Mangata_Gallo;
|
||||
USE Mangata_Gallo_1;
|
||||
-- -------------------------------------------------------
|
||||
-- #######################################################
|
||||
-- ##################### Завдання ######################
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 1 ####################
|
||||
-- Напишість запит, що створить таблицю Staff з такими стовпціями:
|
||||
|
||||
-- StaffID: INT
|
||||
-- FullName: VARCHAR(100)
|
||||
-- PhoneNumber: VARCHAR(10)
|
||||
|
||||
CREATE TABLE Staff (
|
||||
StaffID INT,
|
||||
FullName VARCHAR(100),
|
||||
PhoneNumber VARCHAR(10)
|
||||
);
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 2 ####################
|
||||
-- Напишіть запит, що додасть наступні обмеження до таблиці Staff:
|
||||
|
||||
-- StaffID: INT NOT NULL and PRIMARY KEY
|
||||
-- FullName: VARCHAR(100) and NOT NULL
|
||||
-- PhoneNumber: INT NOT NULL
|
||||
|
||||
ALTER TABLE Staff
|
||||
MODIFY StaffID INT NOT NULL,
|
||||
ADD CONSTRAINT pk_staff PRIMARY KEY (StaffID),
|
||||
MODIFY FullName VARCHAR(100) NOT NULL,
|
||||
MODIFY PhoneNumber INT NOT NULL;
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 3 ####################
|
||||
|
||||
-- Напишіть запит, що додасть новий стовпець Role до таблиці Staff відразу після стовпця FullName з такими обмеженнями:
|
||||
-- Role: VARCHAR(50) and NOT NULL
|
||||
|
||||
ALTER TABLE Staff ADD Role VARCHAR(50) NOT NULL AFTER FullName;
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 4 ####################
|
||||
|
||||
-- Напишіть запит, що дозволиться видалити стовпець PhoneNumber з табиці Staff.
|
||||
|
||||
ALTER TABLE Staff DROP PhoneNumber;
|
||||
|
||||
---
|
||||
alter table Staff add column PhoneNumber VARCHAR(10);
|
||||
@@ -0,0 +1,136 @@
|
||||
-- #ALTER TABLE statement
|
||||
|
||||
-- Передумови
|
||||
|
||||
-- Для виконання роботи потрібна база даих little_lemon та такі таблиці в ній:
|
||||
-- Customers та Bookings.
|
||||
-- ##########################################
|
||||
-- 1. Створіть базу даних, якщо не існує:
|
||||
CREATE DATABASE IF NOT EXISTS little_lemon_1;
|
||||
-- -------------------------------------------
|
||||
-- 2. Оберіть базу даних: USE little_lemon;
|
||||
USE little_lemon_1;
|
||||
-- -------------------------------------------
|
||||
-- 3. Створіть необхідні таблиці й наповніть їх запропонованими даними:
|
||||
|
||||
CREATE TABLE Customers (
|
||||
CustomerID INT NOT NULL PRIMARY KEY,
|
||||
FullName VARCHAR(100) NOT NULL,
|
||||
PhoneNumber INT NOT NULL UNIQUE
|
||||
);
|
||||
-- -------------------------------------------
|
||||
|
||||
CREATE TABLE Bookings (
|
||||
BookingID INT NOT NULL PRIMARY KEY,
|
||||
BookingDate DATE NOT NULL,
|
||||
TableNumber INT NOT NULL,
|
||||
NumberOfGuests INT NOT NULL CHECK (NumberOfGuests <= 8),
|
||||
CustomerID INT NOT NULL,
|
||||
FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
-- -------------------------------------------
|
||||
|
||||
INSERT INTO
|
||||
Customers (
|
||||
CustomerID,
|
||||
FullName,
|
||||
PhoneNumber
|
||||
)
|
||||
VALUES (
|
||||
1,
|
||||
"Vanessa McCarthy",
|
||||
0757536378
|
||||
),
|
||||
(
|
||||
2,
|
||||
"Marcos Romero",
|
||||
0757536379
|
||||
),
|
||||
(
|
||||
3,
|
||||
"Hiroki Yamane",
|
||||
0757536376
|
||||
),
|
||||
(4, "Anna Iversen", 0757536375),
|
||||
(5, "Diana Pinto", 0757536374);
|
||||
-------------------------------------------
|
||||
|
||||
INSERT INTO
|
||||
Bookings (
|
||||
BookingID,
|
||||
BookingDate,
|
||||
TableNumber,
|
||||
NumberOfGuests,
|
||||
CustomerID
|
||||
)
|
||||
VALUES (10, '2021-11-11', 7, 5, 1),
|
||||
(11, '2021-11-10', 5, 2, 2),
|
||||
(12, '2021-11-10', 3, 2, 4);
|
||||
-------------------------------------------
|
||||
|
||||
CREATE TABLE FoodOrders (
|
||||
OrderID INT,
|
||||
Quantity INT,
|
||||
Cost Decimal(4, 2)
|
||||
);
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання ######################
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 1 ####################
|
||||
-- Напишіть запит, який зробить поле OrderID первинним ключем таблиці FoodOrders.
|
||||
|
||||
ALTER TABLE FoodOrders
|
||||
ADD CONSTRAINT pk_foodorders PRIMARY KEY (OrderID);
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 2 ####################
|
||||
-- Застосуйте обмеження NOT NULL для полів quantity та cost.
|
||||
|
||||
alter table FoodOrders
|
||||
modify Quantity int not null,
|
||||
modify Cost decimal(4, 2) not null;
|
||||
|
||||
SHOW COLUMNS FROM FoodOrders;
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 3 ####################
|
||||
-- Створіть два нових стовпців таблиці FoodOrders: OrderDate з типом даних DATE та CustomerID
|
||||
-- типом даних INT. Для обох полів застосуйте обмеження NOT NULL.
|
||||
-- CustomerID у таблиці FoodOrders зробіть зовнішнім ключем з посиланням на поле CustomerID
|
||||
-- таблиці Customers.
|
||||
|
||||
ALTER TABLE FoodOrders
|
||||
ADD OrderDate DATE NOT NULL,
|
||||
ADD CustomerID INT NOT NULL,
|
||||
ADD CONSTRAINT fk_foodorders_customers FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID);
|
||||
|
||||
SHOW COLUMNS FROM FoodOrders;
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 4 ####################
|
||||
-- Видаліть поле OrderDate з таблиці FoodOrder.
|
||||
|
||||
alter table FoodOrders drop column OrderDate;
|
||||
|
||||
SHOW COLUMNS FROM FoodOrders;
|
||||
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 5 ####################
|
||||
-- Додати та перейменуйте стовпець Order_Status таблиці FoodOrders на DeliveryStatus.
|
||||
|
||||
alter table FoodOrders add column Order_Status varchar(20) not null;
|
||||
|
||||
alter table FoodOrders rename column Order_Status to DeliveryStatus;
|
||||
|
||||
alter table FoodOrders modify column DeliveryStatus boolean not null;
|
||||
|
||||
SHOW COLUMNS FROM FoodOrders;
|
||||
-- #######################################################
|
||||
-- ##################### Завдання 6 ####################
|
||||
-- Змініть ім’я таблиці з FoodOrders на OrderDeliveryStatus.
|
||||
|
||||
alter table FoodOrders rename to OrderDeliveryStatus;
|
||||
|
||||
SHOW COLUMNS FROM OrderDeliveryStatus;
|
||||
-- ########################################################
|
||||
Reference in New Issue
Block a user