0% found this document useful (0 votes)
6 views

SQL (notes) (1)

The document provides an overview of MySQL, including definitions of databases, types of databases (relational and non-relational), and the SQL programming language used to manage relational databases. It covers SQL commands, data types, table structures, keys, constraints, and various SQL operations such as creating, updating, and deleting data. Additionally, it explains joins, subqueries, and views in SQL, highlighting their syntax and usage.

Uploaded by

Iqra Aziz
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

SQL (notes) (1)

The document provides an overview of MySQL, including definitions of databases, types of databases (relational and non-relational), and the SQL programming language used to manage relational databases. It covers SQL commands, data types, table structures, keys, constraints, and various SQL operations such as creating, updating, and deleting data. Additionally, it explains joins, subqueries, and views in SQL, highlighting their syntax and usage.

Uploaded by

Iqra Aziz
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 60

MySQL

Databa
se
Database is collection of data in a format that can be easily accessed (Digital)

A software application used to manage our DB is called DBMS (Database


Management System)
Types of
Databases
Relational Non-relational
(NoSQL)
Data stored in
tables data not stored in
tables

** We use SQL to work with relational


DBMS
What is
SQL? Query Language
Structured

SQL is a programming language used to interact with relational


databases.
It is used to perform CRUD
operations : Create
Read
Updat
e
Delet
e
Database
Structure
Databa
se

Table Table
1 2

Dat Dat
a a
What is a
table?
Student
table
Creating our First
Database
Our first SQL Query

CREATE DATABASE
db_name;

DROP DATABASE
db_name;
Creating our First
Table
USE db_name;

CREATE TABLE table_name


( column_name1 datatype
constraint, column_name2
datatype constraint,
column_name2 datatype
constraint
);
SQL
Datatypes
They define the type of values that can be
stored in a column
Practice Q1
Q: Create a database for your company name XYZ.
Step1: Create a table inside this DB to store employee info (id, name and salary)
Step2: Add following information in the DB :
1, “adam”, 25000
2, “bob”, 300000
3,”casey”, 400000
Step3: Select & view all your table data.
SQL
Datatypes
Signed &
Unsigned

TINYINT UNSIGNED (0
to 255)

TINYINT (-128 to 127)


Types of SQL
Commands
DDL (Data Definition Language) : create, alter, rename, truncate &
drop

DQL (Data Query Language) : select

DML (Data Manipulation Language) : select, insert, update & delete

DCL (Data Control Language) : grant & revoke permission to users

TCL (Transaction Control Language) : start transaction, commit, rollback


etc.
Database related
Queries
CREATE DATABASE db_name;

CREATE DATABASE IF NOT EXISTS


db_name;

DROP DATABASE db_name;

DROP DATABASE IF EXISTS


db_name;

SHOW DATABASES;

SHOW
TABLES;
Table related
Queries
Create

CREATE TABLE table_name


( column_name1 datatype
constraint, column_name2
datatype constraint,
);
Table related
Queries
Select & View ALL
columns

SELECT * FROM
table_name;
Table related
Queries
Insert

INSERT INTO
table_name (colname1,
colname2); VALUES
(col1_v1, col2_v1),
(col1_v2,
col2_v2);
Key
s
Primary K ey

It is a column (or set of columns) in a table that uniquely identifies each row. (a
unique id) There is only 1 PK & it should be NOT null.

Foreign K ey

A foreign key is a column (or set of columns) in a table that refers to the primary key in
another table.
There can be multiple FKs.
FKs can have duplicate & null
values.
Key
s
table1 - table2 -
Student City
Constrai
ntsconstraints are used to specify rules for
SQL
data in a table.

NOT NULL columns cannot have a null value

UNIQ all values in column are


UE different

PRIM ARY makes a column unique & not null but used only
K EY for one
Constrai
nts
FOREIGN KEY prevent actions that would destroy links between
tables

DEFAUL sets the default value of a


T column
Constrai
nts
CHECK it can limit the values allowed in a
column
Create this sample table Insert this data
Select in
Detail
used to select any data from the
database

Basic Syntax

SELECT col1, col2 FROM


table_name;

To Select ALL

SELECT * FROM table_name;


Where Clause
To define some
conditions

SELECT col1, col2 FROM table_name


WHERE conditions;
Where Clause
Using Operators in
WHERE

Arithmetic Operators : +(addition) , -(subtraction), *(multiplication), /(division), %


(modulus)

Comparison Operators : = (equal to), != (not equal to), > , >=, <,

<= Logical Operators : AND, OR , NOT, IN, BETWEEN, ALL, LIKE,

Bitwise Operators : & (Bitwise AND), | (Bitwise


ANY
OR)
Operator
s
AND (to check for both conditions to be
true)

OR (to check for one of the conditions to be


true)
Operato
rs
Between (selects for a
given range)

In (matches any value in


the list)

NOT (to negate the given


condition)
Limit
Clause
Sets an upper limit on number of (tuples)rows to
be returned

SELECT col1, col2 FROM


table_name
LIMIT number;
Order By
Clause
To sort in ascending (ASC) or descending
order (DESC)

SELECT col1, col2 FROM


table_name
ORDER BY col_name(s) ASC;
Aggregate
Functions
Aggregare functions perform a calculation on a set of values, and
return a single value.
COUNT
()
Get Maximum
MAX( )
Marks
M IN( )
SUM ( )
AVG( )

Get Average
marks
Group By
Clause
Groups rows that have the same values into summary rows.
It collects data from multiple records and groups the result by one
or more column.

*Generally we use group by with some aggregation


function.

Count number of students in


each city
Having
Clause
Similar to Where i.e. applies some condition on rows.
Used when we want to apply any condition after
grouping.

Count number of students in each city where max marks


cross 90.
General
Order
SELECT column(s)
FROM table_name
WHERE condition
GROUP BY
column(s) HAVING
condition
ORDER BY
column(s) ASC;
Having
Clause
Similar to Where i.e. applies some condition on rows.
Used when we want to apply any condition after
grouping.

Count number of students in each city where max marks


cross 90.
Table related
Queries
Update (to update existing
rows)

UPDATE table_name
SET col1 = val1, col2 =
val2
WHERE condition;
Table related
Queries
Delete (to delete existing
rows)

DELETE FROM
table_name
WHERE condition;
Cascading for
FK
On Delete Cascade
When we create a foreign key using this option, it deletes the referencing rows in the
child table when the referenced row is deleted in the parent table which has a
primary key.

On Update Cascade
When we create a foreign key using UPDATE CASCADE the referencing rows are
updated in the child table when the referenced row is updated in the parent table which
has a primary key.
Table related
Queries
Alter (to change the schema)

ADD Column
ALTER TABLE table_name
ADD COLUMN column_name datatype
constraint;

DROP Column
ALTER TABLE table_name
DROP COLUMN column_name;
RENAME Table
ALTER TABLE table_name
RENAME TO
new_table_name;
Table related
Queries
CHANGE Column (rename)
ALTER TABLE table_name
CHANGE COLUMN old_name new_name new_datatype
new_constraint;

MODIFY Column (modify datatype/ constraint)


ALTER TABLE table_name
MODIFY col_name new_datatype
new_constraint;
ADD DROP
Column Column

M ODIFY RENAM E
Column Table

CHANGE Column
(rename)
Table related
Queries
Truncate (to delete table's
data)

TRUNCATE TABLE
table_name ;
Joins in SQL
Join is used to combine rows from two or more tables, based on a related
column between them.
Types of
Joins

Inner Left Right Full


Join Join Join Join

Outer
Joins
Inner
Join records that have matching values
Returns
in both tables

Syntax
SELECT
column(s) FROM
tableA INNER
JOIN tableB
ON
tableA.col_name =
tableB.col_name;
SELECT *
Inner FROM student
Join INNER JOIN course
ON student.student_id =
Example course.student_id;
studen course
t

Result
Left Join
Returns all records from the left table, and the matched
records from the right table

Syntax
SELECT
column(s)
FROM tableA
LEFT JOIN
tableB
ON
tableA.col_name
=
tableB.col_name;
SELECT *
Left FROM student as s
Join LEFT JOIN course as c
ON s.student_id =
Example
studen course c.student_id;
t

Result
Right Join
Returns all records from the right table, and the
matched records from the left table

Syntax
SELECT
column(s) FROM
tableA RIGHT
JOIN tableB
ON
tableA.col_name =
tableB.col_name;
SELECT *
Right FROM student as s
Join RIGHT JOIN course as c
ON s.student_id =
Example
studen course c.student_id;
t

Result
Full Join
Returns all records when there is a match in either left
or right table

Syntax in
MySQL
LEFT JOIN
UNION
RIGHT
JOIN
Full
Join
Example
course
student

Result
Think &
Ans
Qs: Write SQL commands to display the right
exclusive join :

Left Exclusive Right Exclusive


Join Join
Self Join
It is a regular join but the table is joined with
itself.

Syntax

SELECT
column(s) FROM
table as a JOIN
table as b
ON a.col_name =
b.col_name;
Self
Join
Example

Employee

Result
Union
It is used to combine the result-set of two or more SELECT
statements. Gives UNIQUE records.

To use it :
every SELECT should have same no. of
columns columns must have similar data
types
columns in every SELECT should be in same
order

Syntax
SELECT column(s) FROM
tableA
UNION
SELECT column(s) FROM
tableB
SQL Sub Queries
A Subquery or Inner query or a Nested query is a query within another SQL
query.
It involves 2 select
Query
statements.

Syntax Sub
Query
SELECT column(s)
FROM table_name
WHERE col_name operator
( subquery );
SQL Sub
Queries
Example
Get names of all students who scored more than
class average.

Step 1. Find the avg of class


Step 2. Find the names of students with marks >
avg
SQL Sub
Queries
Example
Find the names of all students with even
roll numbers.

Step 1. Find the even roll numbers


Step 2. Find the names of students with
even roll no
SQL Sub
Queries
Example with FROM
Find the max marks from the students of
Delhi

Step 1. Find the students of M umbai


Step 2. Find their max marks using the
sublist in step 1
MySQL Views
A view is a virtual table based on the result-set of an
SQL statement.

*A view always shows up-to-date


data. The database engine recreates
the view, every time a user queries
it.

You might also like