|
DDL |
Data Definition Language |
CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE VIEW, ALTER VIEW, DROP VIEW, TRUNCATE, RENAME |
Create a table named STUDENT having the following fields.
Student(Student_id, name, age, gender, courses, maks, city)
CREATE TABLE student (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender CHAR(1),
course VARCHAR(30),
marks INT,
city VARCHAR(30)
);
INSERT INTO student VALUES (1, ‘Amit’, 20, ‘M’, ‘BCA’, 85, ‘Kolkata’);
INSERT INTO student VALUES (2, ‘Riya’, 19, ‘F’, ‘BCA’, 78, ‘Delhi’);
INSERT INTO student VALUES
(3, ‘Suman’, 21, ‘M’, ‘BSc’, 67, ‘Mumbai’),
(4, ‘Neha’, 20, ‘F’, ‘BCA’, 90, ‘Kolkata’);
INSERT INTO student (student_id, name, age, gender, course, city)
VALUES (5, ‘Rahul’, 22, ‘M’, ‘BSc’, ‘Delhi’);
INSERT INTO student VALUES (6,’Pooja’,19,’F’,’BCom’,72,’Mumbai’);
INSERT INTO student VALUES (7,’Arjun’,21,’M’,’BCom’,88,’Kolkata’);
INSERT INTO student VALUES (8,’Sneha’,20,’F’,’BCA’,60,’Delhi’);
INSERT INTO student VALUES (9,’Vikas’,23,’M’,’BSc’,49,’Mumbai’);
INSERT INTO student VALUES (10,’Anita’,21,’F’,’BCom’,95,’Kolkata’);
INSERT INTO student VALUES (2,’Tina’,20,’F’,’BCom’,88,’Delhi’);
ALTER TABLE student ADD email VARCHAR(50);
ALTER TABLE student ADD phone BIGINT;
ALTER TABLE student MODIFY name VARCHAR(100);
ALTER TABLE student MODIFY marks FLOAT;
ALTER TABLE student DROP phone;
ALTER TABLE student ADD semester INT;
ALTER TABLE student ADD admission_year INT;
ALTER TABLE student MODIFY city VARCHAR(50);
ALTER TABLE student DROP email;
ALTER TABLE student ADD address VARCHAR(100);
ALTER TABLE student DROP address;
ALTER TABLE student MODIFY course VARCHAR(40);
ALTER TABLE student ADD dob DATE;
ALTER TABLE student DROP dob;
ALTER TABLE student ADD scholarship BOOLEAN;
A VIEW in SQL is a virtual table that is created using a SELECT query.
It does not store data physically; instead, it shows data from one or more tables.
CREATE VIEW passed_students AS
SELECT student_id, name, marks
FROM students
WHERE marks >= 40;
Or
CREATE OR REPLACE VIEW passed_students AS
SELECT student_id, name, marks
FROM students
WHERE marks >= 50;
CREATE VIEW student_basic_info AS
SELECT student_id, name
FROM students;
ALTER VIEW passed_students AS
SELECT student_id, name,
FROM students
WHERE marks >= 50;
DROP VIEW passed_students;
DROP VIEW IF EXISTS passed_students;
The TRUNCATE command is used to remove all records (rows) from a table very quickly.
Syntex:
TRUNCATE TABLE table_name;
TRUNCATE vs DELETE (Very Important for Exams)
| Point | TRUNCATE | DELETE |
|---|---|---|
| Category | DDL | DML |
| WHERE clause | ❌ Not allowed | ✅ Allowed |
| Rollback | ❌ Not possible | ✅ Possible |
| Speed | Very fast | Slower |
| AUTO_INCREMENT | Reset | Not reset |
TRUNCATE TABLE Student;
Syntax (Structure):
RENAME TABLE old_table_name TO new_table_name;
RENAME TABLE students TO student_info;