Uploaded by Ashutosh Kumar

MariaDB SQL Commands Lab Experiment

advertisement
Experiment-4
Name: Nilanshu Ranjan – 231070035
Abdul Razaq – 231070032
AIM: Exploring Different Types of Attributes, Insert and Update commands
with various options. Some the main command to be done in this
experiments will be :
1. Alter command to add constraints
2. Setting default values in table
3. Update table command to change values
4. Inserting into table using select command
Name and Schema:
MariaDB [syce32]> DESC PRODUCTS;
+-----------------+---------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------+
| PROD_ID
| int(11)
| NO
| PRI | NULL
|
|
| NAME
| varchar(30)
| YES |
| NULL
|
|
| CATEGORY
| varchar(30)
| YES |
| NULL
|
|
| COST_PRICE
| decimal(10,2) | YES |
| NULL
|
|
| SELLING_PRICE
| varchar(30)
| YES |
| NULL
|
|
| BATCHES_PRESENT | int(11)
| YES |
| NULL
|
|
| BATCH_SIZE
| int(11)
| YES |
| NULL
|
|
| MIN_STOCK
| int(11)
| YES |
| NULL
|
|
| EXPIRY
| date
| YES |
| NULL
|
|
| supp_id
| int(11)
| YES | MUL | NULL
|
|
+-----------------+---------------+------+-----+---------+-------+
MariaDB [syce32]> DESC RETAILER_ORDER;
+------------------+---------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+------------------+---------------+------+-----+---------+-------+
| R_ID
| int(11)
| NO
| PRI | NULL
|
|
| PROD_ID
| int(11)
| NO
| PRI | NULL
|
|
| ORDER_DATE
| date
| YES |
| NULL
|
|
| TOTAL_AMOUNT
| decimal(10,2) | YES |
| NULL
|
|
| ORDER_STATUS
| varchar(30)
| YES |
| NULL
|
|
| TRANSACTION_TYPE | varchar(30)
| YES |
| NULL
|
|
| BATCHES_BOUGHT
| int(11)
| YES |
| NULL
|
|
+------------------+---------------+------+-----+---------+-------+
MariaDB [syce32]> DESC SUPP_ORDERS;
+--------------+---------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| SUPP_ID
| int(11)
| NO
| PRI | NULL
|
|
| PROD_ID
| int(11)
| NO
| PRI | NULL
|
|
| ORDER_DATE
| date
| YES |
| NULL
|
|
| UNIT_PRICE
| decimal(10,2) | YES |
| NULL
|
|
| ORDER_STATUS | varchar(30)
| YES |
| NULL
|
|
| BATCHES_SIZE | int(11)
| YES |
| NULL
|
|
+--------------+---------------+------+-----+---------+-------+
MariaDB [syce32]> DESC SUPPLIER;
+--------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| supp_id
| int(11)
| NO
| PRI | NULL
|
|
| supp_name
| varchar(30) | YES |
| NULL
|
|
| contact_no
| bigint(20) | YES |
| NULL
|
|
| email
| varchar(30) | YES |
| NULL
|
|
| supp_address | varchar(60) | YES |
| NULL
|
|
+--------------+-------------+------+-----+---------+-------+
MariaDB [syce32]> DESC RETAILER;
+---------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| R_ID
| int(11)
| NO
| PRI | NULL
|
|
| NAME
| varchar(20) | YES |
| NULL
|
|
| ADDRESS | varchar(40) | YES |
| NULL
|
|
| CONTACT | bigint(20) | YES |
| NULL
|
|
| EMAIL
| varchar(30) | YES |
| NULL
|
|
+---------+-------------+------+-----+---------+-------+
USING ALTER COMMAND TO ADD CONSTRAINT:
MariaDB [syce32]> ALTER TABLE PRODUCTS DROP CONSTRAINT
CHECK_BATCH_SIZE;
MariaDB [syce32]> INSERT INTO PRODUCTS VALUES (14, 'BUBBLE GUM',
'SNACKS', 5, 10, 20, -12, 10, '2026-01-12', 6);
ERROR 4025 (23000): CONSTRAINT CHECK_BATCH_SIZE failed for
syce32.PRODUCTS
SETING DEFAULT VALLUES:
MariaDB [syce32]> ALTER TABLE RETAILER_ORDERS MODIFY ORDER_STATUS
VARCHAR(30) DEFAULT 'PENDING';
Query OK, 0 rows affected (0.014 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [syce32]> DESC RETAILER_ORDERS;
+------------------+---------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+------------------+---------------+------+-----+---------+-------+
| R_ID
| int(11)
| NO
| PRI | NULL
|
|
| PROD_ID
| int(11)
| NO
| PRI | NULL
|
|
| ORDER_DATE
| date
| NO
|
| NULL
|
|
| TOTAL_AMOUNT
| decimal(12,2) | YES |
| NULL
|
|
| ORDER_STATUS
| varchar(30)
| YES |
| PENDING |
|
| TRANSACTION_TYPE | varchar(30)
| YES |
| NULL
|
|
| BATCHES_BOUGHT
| int(11)
| YES |
| NULL
|
|
+------------------+---------------+------+-----+---------+-------+
USING UPDATE TABLE COMMAND TO CANGE VALUES:
MariaDB [syce32]> UPDATE PRODUCTS SET BATCHES_PRESENT=100 WHERE
CATEGORY='SNACKS';
Query OK, 3 rows affected (0.002 sec)
Rows matched: 3 Changed: 3 Warnings: 0
MariaDB [syce32]> SELECT NAME, CATEGORY, BATCHES_PRESENT FROM
PRODUCTS;
+---------------------+-----------------+-----------------+
| NAME
| CATEGORY
| BATCHES_PRESENT |
+---------------------+-----------------+-----------------+
| Paracetamol Tablets | Medicine
|
5 |
| Hand Sanitizer
| Hygiene
|
10 |
| Disposable Gloves
| Protective Gear |
20 |
| Potato Chips
| Snacks
|
100 |
| Soda Can
| Beverages
|
20 |
| Chocolate Bar
| Snacks
|
100 |
| Juice Bottle
| Beverages
|
8 |
| Toilet Paper Roll
| Household
|
30 |
| Tissue Paper Pack
| Household
|
25 |
| Dishwashing Liquid | Cleaning
|
6 |
| Notebook
| Stationery
|
12 |
| Ballpoint Pen
| Stationery
|
50 |
| Novel - Fiction
| Books
|
4 |
| Chips
| Snacks
|
100 |
+---------------------+-----------------+-----------------+
INSERTING INTO TALBE USING SELECT COMMAND:
MariaDB [syce32]> CREATE TABLE PAST_RETAILER(R_ID INT PRIMARY KEY,
NAME VARCHAR(20), ADDRESS VARCHAR(40), PHONE_NUMBER BIGINT(20),
EMAIL VARCHAR(30));
MariaDB [syce32]> INSERT INTO PAST_RETAILER(SELECT * FROM RETAILER
WHERE R_ID = 3);
Query OK, 1 row affected (0.004 sec)
Records: 1 Duplicates: 0 Warnings: 0
MariaDB [syce32]> SELECT * FROM PAST_RETAILER;
+------+---------------+---------------+---------------+-------------------------+
| R_ID | NAME
| ADDRESS
| PHONE_NUMBER | EMAIL
|
+------+---------------+---------------+---------------+-------------------------+
|
3 | Snack Express | 5, Bandra West|
7654321098 | contact@snackexpress.com|
+------+---------------+---------------+---------------+-------------------------+
1 row in set (0.002 sec)
USING WHEN THEN LADDER:
MariaDB [syce32]> UPDATE PRODUCTS
-> SET NAME = CASE
->
WHEN NAME = 'CHIPS' THEN 'Chips'
->
ELSE NAME
->
END;
Query OK, 1 row affected (0.002 sec)
Rows matched: 14 Changed: 1 Warnings: 0
MariaDB [syce32]> SELECT PROD_ID, NAME FROM PRODUCTS;
+---------+---------------------+
| PROD_ID | NAME
|
+---------+---------------------+
|
1 | Paracetamol Tablets |
|
2 | Hand Sanitizer
|
|
3 | Disposable Gloves
|
|
4 | Potato Chips
|
|
5 | Soda Can
|
|
6 | Chocolate Bar
|
|
7 | Juice Bottle
|
|
8 | Toilet Paper Roll
|
|
9 | Tissue Paper Pack
|
|
10 | Dishwashing Liquid |
|
11 | Notebook
|
|
12 | Ballpoint Pen
|
|
13 | Novel - Fiction
|
|
14 | Chips
|
+---------+---------------------+
14 rows in set (0.001 sec)
Conclusion:
Key Commands Used in the Document
Command
Description
ALTER TABLE PRODUCTS DROP
CONSTRAINT CHECK_BATCH_SIZE;
Removes the CHECK constraint on
BATCH_SIZE.
ALTER TABLE RETAILER_ORDERS MODIFY
ORDER_STATUS VARCHAR(30) DEFAULT
'PENDING';
Sets a default value for
ORDER_STATUS.
UPDATE PRODUCTS SET
BATCHES_PRESENT=100 WHERE
CATEGORY='SNACKS';
INSERT INTO PAST_RETAILER(SELECT *
FROM RETAILER WHERE R_ID = 3);
UPDATE PRODUCTS SET NAME = CASE
WHEN NAME = 'CHIPS' THEN 'Chips' ELSE
NAME END;
Updates BATCHES_PRESENT for
all products in the SNACKS
category.
Inserts data from RETAILER into
PAST_RETAILER.
Uses a CASE statement to rename
'CHIPS' to 'Chips'.
Download