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'.