Add DBMS/SQL/Week3/SQLPlus1.md
This commit is contained in:
parent
57a30735e5
commit
563fa29ff6
476
DBMS/SQL/Week3/SQLPlus1.md
Normal file
476
DBMS/SQL/Week3/SQLPlus1.md
Normal file
@ -0,0 +1,476 @@
|
||||
Credentials
|
||||
|
||||
- `CCE230953344@ictorcl`
|
||||
- `student`
|
||||
|
||||
## SQL Logs
|
||||
```sql
|
||||
SQL> create table PERSON(driver_id# varchar(30) primary key,name varchar(50),address varchar(100));
|
||||
|
||||
Table created.
|
||||
|
||||
SQL> desc person
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
DRIVER_ID# NOT NULL VARCHAR2(30)
|
||||
NAME VARCHAR2(50)
|
||||
ADDRESS VARCHAR2(100)
|
||||
|
||||
SQL> create table CAR(regno varchar(20) primary key,model varchar(30),year int);
|
||||
|
||||
Table created.
|
||||
|
||||
SQL> create table ACCIDENT(report_number int, accd_date date, location varchar(50));
|
||||
|
||||
Table created.
|
||||
|
||||
SQL> desc accident
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
REPORT_NUMBER NUMBER(38)
|
||||
ACCD_DATE DATE
|
||||
LOCATION VARCHAR2(50)
|
||||
|
||||
SQL> alter table accident add constraint pkey primary key(report_number);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> desc ACCIDENT;
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
REPORT_NUMBER NOT NULL NUMBER(38)
|
||||
ACCD_DATE DATE
|
||||
LOCATION
|
||||
|
||||
SQL> create table OWNS (driver_id# varchar(30),regno varchar(20),primary key(driver_id#,regno),constraint fkey1 foreign key(driver_id#)references PERSON (driver_id#),constraint fkey2 foreign key(regno)references CAR);
|
||||
|
||||
Table created.
|
||||
|
||||
SQL> desc OWNS
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
DRIVER_ID# NOT NULL VARCHAR2(30)
|
||||
REGNO NOT NULL VARCHAR2(20)
|
||||
|
||||
SQL> select table_name from user_tables;
|
||||
|
||||
TABLE_NAME
|
||||
--------------------------------------------------------------------------------
|
||||
ACCIDENT
|
||||
CAR
|
||||
OWNS
|
||||
PERSON
|
||||
|
||||
SQL> create table PARTICIPATED (driver_id# varchar(30), regno varchar(20), report_number int, damage_amount int, primary key(driver_id#,regno,report_number),constraint fkey1participated foreign key(driver_id#) references Person(driver_id#),constraint fkey2participated foreign key(regno) references car(regno),constraint fkey3paricipated foreign key(report_number) references accident);
|
||||
|
||||
Table created.
|
||||
|
||||
SQL> desc PARTICIPATED
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
DRIVER_ID# NOT NULL VARCHAR2(30)
|
||||
REGNO NOT NULL VARCHAR2(20)
|
||||
REPORT_NUMBER NOT NULL NUMBER(38)
|
||||
DAMAGE_AMOUNT NUMBER(38)
|
||||
```
|
||||
|
||||
Now, we enter values.
|
||||
```sql
|
||||
SQL> insert into person values(1234,'Rohan','Delhi India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> select * from person;
|
||||
|
||||
DRIVER_ID# NAME
|
||||
---------- --------------------------------------------------
|
||||
ADDRESS
|
||||
--------------------------------------------------------------------------------
|
||||
1234 Rohan
|
||||
Delhi India
|
||||
|
||||
|
||||
SQL> alter table person modify driver_id# varchar (30);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> insert into person values(1235,'Rohit','Banglalore India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into person values(1236,'Ramesh','Baharashtra India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into person values(1237,'Saarthak','Manipal India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> desc person;
|
||||
Name Null? Type
|
||||
----------------------------------------- -------- ----------------------------
|
||||
DRIVER_ID# NOT NULL VARCHAR2(30)
|
||||
NAME VARCHAR2(50)
|
||||
ADDRESS VARCHAR2(100)
|
||||
|
||||
SQL> select * from person;
|
||||
|
||||
DRIVER_ID#
|
||||
------------------------------
|
||||
NAME
|
||||
--------------------------------------------------
|
||||
ADDRESS
|
||||
--------------------------------------------------------------------------------
|
||||
1234
|
||||
Rohan
|
||||
Delhi India
|
||||
|
||||
1235
|
||||
Rohit
|
||||
Banglalore India
|
||||
|
||||
DRIVER_ID#
|
||||
------------------------------
|
||||
NAME
|
||||
--------------------------------------------------
|
||||
ADDRESS
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
1236
|
||||
Ramesh
|
||||
Baharashtra India
|
||||
|
||||
1237
|
||||
Saarthak
|
||||
|
||||
DRIVER_ID#
|
||||
------------------------------
|
||||
NAME
|
||||
--------------------------------------------------
|
||||
ADDRESS
|
||||
--------------------------------------------------------------------------------
|
||||
Manipal India
|
||||
```
|
||||
|
||||
Now, we modify the varchar sizes so that we can fix the display formatting.
|
||||
|
||||
```sql
|
||||
SQL> alter table person modify address varchar (30);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> select * from person;
|
||||
|
||||
DRIVER_ID# NAME
|
||||
------------------------------ ----------------------------------------
|
||||
ADDRESS
|
||||
------------------------------
|
||||
1234 Rohan
|
||||
Delhi India
|
||||
|
||||
1235 Rohit
|
||||
Banglalore India
|
||||
|
||||
1236 Ramesh
|
||||
Baharashtra India
|
||||
|
||||
|
||||
DRIVER_ID# NAME
|
||||
------------------------------ ----------------------------------------
|
||||
ADDRESS
|
||||
------------------------------
|
||||
1237 Saarthak
|
||||
Manipal India
|
||||
|
||||
SQL> alter table person modify driver_id# varchar (4);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> alter table person modify name varchar (10);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> select * from person;
|
||||
|
||||
DRIV NAME ADDRESS
|
||||
---- ---------- ------------------------------
|
||||
1234 Rohan Delhi India
|
||||
1235 Rohit Banglalore India
|
||||
1236 Ramesh Baharashtra India
|
||||
1237 Saarthak Manipal India
|
||||
|
||||
```
|
||||
|
||||
Data updation.
|
||||
```sql
|
||||
SQL> update person set address='Maharashtra India' WHERE driver_id# = 1236;
|
||||
|
||||
1 row updated.
|
||||
|
||||
SQL> select * from person;
|
||||
|
||||
DRIV NAME ADDRESS
|
||||
---- ---------- ------------------------------
|
||||
1234 Rohan Delhi India
|
||||
1235 Rohit Banglalore India
|
||||
1236 Ramesh Maharashtra India
|
||||
1237 Saarthak Manipal India
|
||||
|
||||
SQL> insert into person values(1238, 'Amogh', 'Muzaffarnagar');
|
||||
|
||||
1 row created.
|
||||
```
|
||||
### Listing Tables
|
||||
```sql
|
||||
SQL> select table_name from user_tables;
|
||||
|
||||
TABLE_NAME
|
||||
--------------------------------------------------------------------------------
|
||||
ACCIDENT
|
||||
CAR
|
||||
OWNS
|
||||
PARTICIPATED
|
||||
PERSON
|
||||
```
|
||||
More Data Entry.
|
||||
```sql
|
||||
SQL> insert into car values('ABCD0001','Celtos',3);
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into car values('EFGH2001','Ferrari',32);
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into car values('DSDS0001','Urus',5);
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into car values('ABCD4001','Honda City',1);
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into car values('HFSP5601','mini cooper',7);
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> select * from car;
|
||||
|
||||
REGNO MODEL YEAR
|
||||
-------------------- ------------------------------ ----------
|
||||
ABCD0001 Celtos 3
|
||||
EFGH2001 Ferrari 32
|
||||
DSDS0001 Urus 5
|
||||
ABCD4001 Honda City 1
|
||||
HFSP5601 mini cooper 7
|
||||
|
||||
SQL> insert into accident values(0001,'01-Jan-2024','Delhi India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> select * from accident;
|
||||
|
||||
REPORT_NUMBER ACCD_DATE LOCATION
|
||||
------------- --------- --------------------------------------------------
|
||||
1 01-JAN-24 Delhi India
|
||||
|
||||
SQL> insert into accident values(0003,'29-feb-2024',' India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into accident values(0004,'11-Oct-1993',' Daman and Diu India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into accident values(0005,'31-march-2200',' Gujrat India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into accident values(12,'17-july-2900',' karnataka India');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> select * from accident;
|
||||
|
||||
REPORT_NUMBER ACCD_DATE LOCATION
|
||||
------------- --------- --------------------------------------------------
|
||||
1 01-JAN-24 Delhi India
|
||||
3 29-FEB-24 India
|
||||
4 11-OCT-93 Daman and Diu India
|
||||
5 31-MAR-00 Gujrat India
|
||||
12 17-JUL-00 karnataka India
|
||||
|
||||
SQL> insert into owns values(1234,'ABCD0001');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into owns values(1235,'EFGH2001');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into owns values(1236,'DSDS0001');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into owns values(1237,'ABCD4001');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> insert into owns values(1238,'HFSP5601');
|
||||
|
||||
1 row created.
|
||||
|
||||
SQL> select * from owns;
|
||||
|
||||
DRIVER_ID# REGNO
|
||||
------------------------------ --------------------
|
||||
1234 ABCD0001
|
||||
1235 EFGH2001
|
||||
1236 DSDS0001
|
||||
1237 ABCD4001
|
||||
1238 HFSP5601
|
||||
```
|
||||
Note:
|
||||
```sql
|
||||
SQL> @<FILEPATH>/filename.sql
|
||||
```
|
||||
will import the commands from a doc and run them.
|
||||
|
||||
Saved commands into `participated.sql`.
|
||||
|
||||
```sql
|
||||
SQL> @C:\Users\student\Downloads\participated.sql
|
||||
|
||||
1 row created.
|
||||
|
||||
|
||||
1 row created.
|
||||
|
||||
|
||||
1 row created.
|
||||
|
||||
|
||||
1 row created.
|
||||
|
||||
|
||||
1 row created.
|
||||
|
||||
|
||||
SQL> select * from participated;
|
||||
|
||||
DRIVER_ID# REGNO REPORT_NUMBER DAMAGE_AMOUNT
|
||||
------------------------------ -------------------- ------------- -------------
|
||||
1234 ABCD0001 1 10000
|
||||
1236 DSDS0001 3 150
|
||||
1237 ABCD4001 4 799
|
||||
1238 HFSP5601 5 1500
|
||||
1238 HFSP5601 12 95500
|
||||
```
|
||||
## Q3
|
||||
Updating data entries:
|
||||
```sql
|
||||
SQL> update participated set damage_amount=25000 where regno='HFSP5601' and report_number=12;
|
||||
|
||||
1 row updated.
|
||||
|
||||
SQL> update participated set damage_amount=25000 where regno='ABCD0001' and report_number=12;
|
||||
|
||||
0 rows updated.
|
||||
|
||||
SQL> select * from participated;
|
||||
|
||||
DRIVER_ID# REGNO REPORT_NUMBER DAMAGE_AMOUNT
|
||||
------------------------------ -------------------- ------------- -------------
|
||||
1234 ABCD0001 1 10000
|
||||
1236 DSDS0001 3 150
|
||||
1237 ABCD4001 4 799
|
||||
1238 HFSP5601 5 1500
|
||||
1238 HFSP5601 12 25000
|
||||
```
|
||||
|
||||
## Q4
|
||||
### Dropping an attribute
|
||||
```sql
|
||||
SQL> alter table Participated
|
||||
|
||||
2 drop constraint fkey3paricipated;
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> select * from participated;
|
||||
|
||||
DRIVER_ID# REGNO REPORT_NUMBER DAMAGE_AMOUNT
|
||||
------------------------------ -------------------- ------------- -------------
|
||||
1234 ABCD0001 1 10000
|
||||
1236 DSDS0001 3 150
|
||||
1237 ABCD4001 4 799
|
||||
1238 HFSP5601 5 1500
|
||||
1238 HFSP5601 12 25000
|
||||
```
|
||||
|
||||
Adding back the attribute.
|
||||
|
||||
```sql
|
||||
SQL> alter table Participated
|
||||
2 add constraint fkey3participated foreign key(report_number) references accident(report_number)
|
||||
3 on delete cascade;
|
||||
|
||||
Table altered.
|
||||
```
|
||||
|
||||
### Conditional Deletion
|
||||
```sql
|
||||
SQL> select * from accident;
|
||||
|
||||
REPORT_NUMBER ACCD_DATE LOCATION
|
||||
------------- --------- --------------------------------------------------
|
||||
1 01-JAN-24 Delhi India
|
||||
3 29-FEB-24 India
|
||||
4 11-OCT-93 Daman and Diu India
|
||||
5 31-MAR-00 Gujrat India
|
||||
12 17-JUL-00 karnataka India
|
||||
|
||||
SQL > delete from accident where extract(year from accd_date)=1993;
|
||||
|
||||
1 row deleted.
|
||||
|
||||
SQL> select * from accident;
|
||||
|
||||
REPORT_NUMBER ACCD_DATE LOCATION
|
||||
------------- --------- --------------------------------------------------
|
||||
1 01-JAN-24 Delhi India
|
||||
3 29-FEB-24 India
|
||||
5 31-MAR-00 Gujrat India
|
||||
12 17-JUL-00 karnataka India
|
||||
```
|
||||
|
||||
## Q5
|
||||
|
||||
```sql
|
||||
SQL> alter table Participated drop constraint fkey3participated;
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> alter table Participated add constraint fkey3participated foreign key(report_number) references accident(report_number) on delete cascade;
|
||||
|
||||
|
||||
Table altered.
|
||||
```
|
||||
|
||||
## Q6
|
||||
|
||||
```sql
|
||||
SQL> alter table participated add constraint checkparticipated check(Damage_amount>=0);
|
||||
|
||||
Table altered.
|
||||
|
||||
SQL> select * from participated;
|
||||
|
||||
DRIVER_ID# REGNO REPORT_NUMBER DAMAGE_AMOUNT
|
||||
------------------------------ -------------------- ------------- -------------
|
||||
1234 ABCD0001 1 10000
|
||||
1236 DSDS0001 3 150
|
||||
1238 HFSP5601 5 1500
|
||||
1238 HFSP5601 12 25000
|
||||
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user