CREATE A TABLE IN MY SQL
mysql> CREATE DATABASE School;
Query OK, 1 row affected (0.02 sec)
mysql> USE School;
Database changed
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT);
104
DESCRIBE A TABLE
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> DESC Students;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| RollNo | int | NO | PRI | NULL | |
| Name | varchar(50) | YES | | NULL | |
| Age | int | YES | | NULL | |
| Class | varchar(10) | YES | | NULL | |
| Marks | int | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.05 sec)
105
INSERT FOUR ENTRIES IN TABLE
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A',
78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C',
88);
Query OK, 1 row affected (0.00 sec)
106
TO SHOW THE ABOVE TABLE
mysql> SELECT * FROM Students;
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 1 | Amit | 17 | 12A | 85 |
| 2 | Neha | 18 | 12B | 92 |
| 3 | Rahul | 17 | 12A | 78 |
| 4 | Priya | 18 | 12C | 88 |
+--------+-------+------+-------+-------+
4 rows in set (0.00 sec)
TO UPDATE A ENTRY IN TABLE
mysql> INSERT INTO Students VALUES (1, 'Amit', 17,
'12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18,
'12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17,
'12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE Students SET Marks = 90 WHERE RollNo =
3;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
107
DELETING A ENTRY FROM TABLE
mysql> INSERT INTO Students VALUES (1, 'Amit', 17,
'12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18,
'12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17,
'12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18,
'12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> DELETE FROM Students WHERE RollNo = 4;
Query OK, 1 row affected (0.04 sec)
108
TO SHOW THE FOLLOWING CHANGES
mysql> UPDATE Students SET Marks = 90 WHERE RollNo = 3;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> DELETE FROM Students WHERE RollNo = 4;
Query OK, 1 row affected (0.04 sec
mysql> SELECT * FROM Students;
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 1 | Amit | 17 | 12A | 85 |
| 2 | Neha | 18 | 12B | 92 |
| 3 | Rahul | 17 | 12A | 90 |
+--------+-------+------+-------+-------+
3 rows in set (0.00 sec)
109
TO SHOW THE ENTRY UNDER SOME CATEGORY
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A',
78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C',
88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students WHERE Age>17;
+--------+------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+------+------+-------+-------+
| 2 | Neha | 18 | 12B | 92 |
+--------+------+------+-------+-------+
1 row in set (0.04 sec)
110
TO SORT THE TABLE IN DECREASING ORDER
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students ORDER BY Marks DESC;
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 2 | Neha | 18 | 12B | 92 |
| 3 | Rahul | 17 | 12A | 90 |
| 4 | Priya | 18 | 12C | 88 |
| 1 | Amit | 17 | 12A | 85 |
+--------+-------+------+-------+-------+
4 rows in set (0.00 sec)
111
TO FILTER THE TABLE BY AND/OR
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students WHERE Age > 17 AND Marks > 85;
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 2 | Neha | 18 | 12B | 92 |
| 4 | Priya | 18 | 12C | 88 |
+--------+-------+------+-------+-------+
2 rows in set (0.00 sec)
112
TO FIND THE ENTRY LIKE YOU WANT FROM TABLE
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
QueryOK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students WHERE Name LIKE 'A%';
+--------+------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+------+------+-------+-------+
| 1 | Amit | 17 | 12A | 85 |
+--------+------+------+-------+-------+
1 row in set (0.04 sec)
113
TO FIND THE ENTRY USING IN OPERATOR
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students WHERE Class IN ('12A', '12B');
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 1 | Amit | 17 | 12A | 85 |
| 2 | Neha | 18 | 12B | 92 |
| 3 | Rahul | 17 | 12A | 90 |
+--------+-------+------+-------+-------+
3 rows in set (0.04 sec)
114
TO FIND THE ENTRY IN A RANGE
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM Students WHERE Marks BETWEEN 80 AND 90;
+--------+-------+------+-------+-------+
| RollNo | Name | Age | Class | Marks |
+--------+-------+------+-------+-------+
| 1 | Amit | 17 | 12A | 85 |
| 3 | Rahul | 17 | 12A | 90 |
| 4 | Priya | 18 | 12C | 88 |
+--------+-------+------+-------+-------+
3 rows in set (0.04 sec)
115
TO FIND THE ENTRY USING GROUP BY HAVING
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT
-> );
Query OK, 0 rows affected (0.15 sec)
mysql> INSERT INTO Students VALUES (1, 'Amit', 17, '12A', 85);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO Students VALUES (2, 'Neha', 18, '12B', 92);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (3, 'Rahul', 17, '12A', 78);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Students VALUES (4, 'Priya', 18, '12C', 88);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT Class, AVG(Marks) AS AvgMarks
-> FROM Students
-> GROUP BY Class
-> HAVING AVG(Marks) > 85;
+-------+----------+
| Class | AvgMarks |
+-------+----------+
| 12A | 87.5000 |
| 12B | 91.5000 |
| 12C | 88.0000 |
+-------+----------+
3 rows in set (0.04 sec)
116
TO FIND THE ENTRY FROM TWO DIFFERENT TABLES
mysql> USE School;
Database changed
mysql> CREATE TABLE Subjects(
->SubjectID INT PRIMARY KEY,
->SubjectNameVARCHAR(50)
-> );
Query OK, 0 rows affected (0.13 sec)
mysql> INSERT INTO Subjects
VALUES(101,'Math'),(102,'Physics'),(103,'Chemistry');
Query OK, 3 rows affected (0.04 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> CREATE TABLE StudentSubject(
->RollNoINT ,
->SubjectIDINT ,
-> FOREIGN KEY(RollNo) REFERENCES Students(RollNo),
-> FOREIGN KEY(SubjectID) REFERENCES Subjects(SubjectID));
Query OK, 0 rows affected (0.09 sec)
mysql> SELECT Students.Name ,Subjects.SubjectName FROM Students
-> INNER JOIN StudentSubject ON Students.RollNo =
StudentSubject.RollNo
-> INNER JOIN Subjects ON StudentSubject.SubjectID =
Subjects.SubjectID;
Empty set (0.04 sec)
117
STUDENT MANAGEMENT SYSTEM SQL
mysql> USE PiyushSchool;
Database changed
mysql> CREATE TABLE Students (
->RollNo INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Age INT,
-> Class VARCHAR(10),
-> Marks INT,
-> Grade CHAR(1)
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO Students (RollNo, Name, Age, Class, Marks, Grade) VALUES
-> (1, 'Amit', 17, '12A', 85, 'B'),
-> (2, 'Neha', 18, '12B', 92, 'A'),
-> (3, 'Rahul', 17, '12A', 78, 'C'),
-> (4, 'Priya', 18, '12C', 88, 'B'),
-> (5, 'Rohit', 18, '12B', 91, 'A');
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> UPDATE Students
-> SET Grade = CASE
-> WHEN Marks >= 90 THEN 'A'
-> WHEN Marks >= 80 THEN 'B'
-> ELSE 'C'
-> END;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5 Changed: 0 Warnings: 0
mysql> SELECT Class, AVG(Marks) AS AverageMarks
-> FROM Students
-> GROUP BY Class;
118
+-------+--------------+
| Class | AverageMarks |
+-------+--------------+
| 12A | 81.5000 |
| 12B | 91.5000 |
| 12C | 88.0000 |
+-------+--------------+
3 rows in set (0.00 sec)
mysql> SELECT Name, Class, Marks
-> FROM Students
-> WHERE Marks IN (
-> SELECT MAX(Marks)
-> FROM Students
-> GROUP BY Class
-> );
+-------+-------+-------+
| Name | Class | Marks |
+-------+-------+-------+
| Amit | 12A | 85 |
| Neha | 12B | 92 |
| Priya | 12C | 88 |
+-------+-------+-------+
3 rows in set (0.04 sec)
119