From c1fb80e1a78493c8290099712bd5e5b2234bd010 Mon Sep 17 00:00:00 2001
From: deekshitha <karrideekshitha2002@gmail.com>
Date: Fri, 29 Nov 2024 17:40:44 +0530
Subject: [PATCH] SqlAssignment1

---
 .../Deekshitha_karri_1537_assignment1.sql     | 200 ++++++++++++++++++
 1 file changed, 200 insertions(+)
 create mode 100644 deekshitha/SQLAssignment1/Deekshitha_karri_1537_assignment1.sql

diff --git a/deekshitha/SQLAssignment1/Deekshitha_karri_1537_assignment1.sql b/deekshitha/SQLAssignment1/Deekshitha_karri_1537_assignment1.sql
new file mode 100644
index 0000000..e855039
--- /dev/null
+++ b/deekshitha/SQLAssignment1/Deekshitha_karri_1537_assignment1.sql
@@ -0,0 +1,200 @@
+CREATE DATABASE Assignment1;
+
+USE Assignment1;
+Go
+
+--Create table with constraints.
+
+CREATE TABLE Employe(
+					 Id int not null,
+					 Ename varchar(50),
+					 Age int check(age>=18),
+					 salary decimal,
+					 Email varchar(40) default 'no email');
+
+SELECT * FROM Employe;
+
+INSERT INTO Employe(Id,Ename,Age,salary) VALUES(1,'john',17,20000);  --error
+
+INSERT INTO Employe(Id,Ename,Age,salary) VALUES(1,'john',18,20000);  --takes default value for email
+
+INSERT INTO Employe VALUES (2,'jane',20,25000,'jane12@gamil.com');
+
+--Create Table with all the datatypes
+
+CREATE TABLE DataTypeEmp(
+						  Id int,
+						  VName Varchar(20),
+						  Cname Char(10),
+						  Nname Nvarchar(30),
+						  Ftype float(20),
+						  Dtype float(53),
+						  NumType numeric,
+						  DateType date,
+						  DTtype Datetime); 
+
+INSERT INTO DataTypeEmp VALUES(1,'abc','jfghjkl','dfsjgfdlfg',21.456789456789456789,3.12345678909876543212345678,765432345676543,'2012-11-12','2012-11-20');
+
+SELECT * FROM DataTypeEmp;
+
+INSERT INTO DataTypeEmp VALUES(2,'fdsfhgjhkjklkjhgf','jfghjkl','dfsjgfdlfg',21.456789456789456789345678987654345679,3.1234567890987654321234567845678786889,765432344567898678,'2012-11-12','2012-11-20 19:07:02'); 
+
+--Create table with Identity
+
+CREATE TABLE Student(
+					 Id int Identity(1,1),
+					 Sname varchar(20),
+					 Email varchar(20));
+
+INSERT INTO Student VALUES('john','john@123'),('jane','jane@123'),('paul','paul@123');
+
+SELECT * FROM Student;
+
+DELETE FROM Student where Id=3;
+
+INSERT INTO Student VALUES('john','john@123'),('jane','jane@123'),('paul','paul@123');
+
+TRUNCATE TABLE Student;
+
+INSERT INTO Student VALUES('john','john@123'),('jane','jane@123'),('paul','paul@123');
+
+SELECT SCOPE_IDENTITY() AS LastInsertedID;
+
+--Computed columns
+
+CREATE TABLE CustomerSale(
+					  Id int,
+					  Fname varchar(20),
+					  Lname varchar(20), 
+					  FullName AS (Fname+' '+Lname) PERSISTED,
+					  Quantity int,
+					  UnitPrice decimal(10,2),
+					  TotalPrice AS (Quantity*UnitPrice) 
+					  );
+
+CREATE TABLE CustomerSale1(
+					  Id int,
+					  Fname varchar(20) NOT NULL,
+					  Lname varchar(20) NULL, 
+					  FullName AS (Fname+' '+Lname)  UNIQUE ,
+					  Quantity int NULL,
+					  UnitPrice decimal(10,2) NULL,
+					  TotalPrice AS (Quantity*UnitPrice) PERSISTED PRIMARY KEY 
+					  );                                     --Accepts only unique and primary key constraints
+
+INSERT INTO CustomerSale1(Id,Fname,Quantity,UnitPrice) VALUES(1,'paul',2,500);
+
+INSERT INTO CustomerSale1(Id,Fname,Quantity,UnitPrice) VALUES(2,'paul1',3,400); --ERROR (unique)
+
+INSERT INTO CustomerSale(Id,Fname) VALUES(1,'paul');  -- Full name null
+
+INSERT INTO CustomerSale VALUES(1,'john','paul',2,500);
+
+SELECT * FROM CustomerSale;
+
+SELECT * FROM CustomerSale1;
+
+UPDATE CustomerSale SET FullName='jane paul' WHERE Id=1;   --cannot modify
+
+--Primary and Foreign key
+
+CREATE TABLE Users (
+					ID int primary key,
+					Uname varchar(20),
+					Email varchar(20));
+
+
+CREATE TABLE Roles(
+					RoleId int primary key,
+					RName varchar(20),
+					UserID int foreign key(UserID) references Users(ID) 
+					on delete cascade on update cascade) ;
+
+
+
+INSERT INTO Users VALUES(1,'user1','user1@123'),(2,'user2','user2@123');
+
+INSERT INTO Roles VALUES(1,'Admin',1);
+
+INSERT INTO Roles VALUES(2,'Admin',3);    --error The INSERT statement conflicted with the FOREIGN KEY constraint "FK__Roles__UserID__68487DD7".
+
+INSERT INTO Roles(RoleId,RName) VALUES(2,'Admin');
+
+INSERT INTO Roles VALUES(4,'User',4);
+
+SELECT * FROM Roles;
+
+SELECT * FROM Users;
+
+DELETE FROM Users WHERE ID=1;       --deletes in both tables 
+
+DELETE FROM Roles WHERE RoleId=2;
+
+INSERT INTO Users VALUES(1,'user1','user1@123');
+
+
+UPDATE Users Set ID=3 WHERE ID=4;   --Updates in both tables
+
+CREATE TABLE Users1 (
+					ID int primary key,
+					Uname varchar(20),
+					Email varchar(20));
+
+CREATE TABLE Roles1(
+					RoleId int primary key,
+					RName varchar(20),
+					UserID int foreign key(UserID) references Users1(ID) 
+					on delete set null on update set null) ;
+
+INSERT INTO Users1 VALUES(1,'user1','user1@123'),(2,'user2','user2@123');
+
+INSERT INTO Roles1 VALUES(1,'Admin',1);
+
+SELECT * FROM Roles1;
+
+SELECT * FROM Users1;
+
+DELETE FROM Users1 WHERE ID=1;
+
+INSERT INTO Users1 VALUES(3,'user1','user1@123'),(5,'user2','user2@123');
+
+INSERT INTO Roles1 VALUES(1,'Admin',2);
+
+UPDATE Users1 Set ID=3 WHERE ID=2;
+
+--Alter Table
+
+CREATE TABLE Course(ID int,Cname varchar(20));
+
+INSERT INTO Course VALUES(1,'cse'),(2,'ece');
+
+SELECT * FROM Course;
+
+ALTER TABLE Course 
+ALTER COLUMN Cname Varchar(40);    --length
+
+ALTER TABLE Course 
+ALTER COLUMN Cname char(40);       --datatype
+
+EXEC sp_rename 'Course.Cname' ,'name','Column';   --rename
+
+ALTER TABLE Course ADD Ctype varchar(10) ;   --addcolumn
+
+ALTER TABLE Course DROP column Ctype;     --dropcolumn
+ALTER TABLE Course drop column ID;
+
+ALTER TABLE Course ADD ID INT NOT NULL; 
+ALTER TABLE Course ADD CONSTRAINT pk_Course_id  Primary Key (ID);
+
+ALTER TABLE Course DROP CONSTRAINT pk_Course_id;
+
+
+
+
+
+
+
+
+
+
+
-- 
GitLab