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

MySQL Full Course internship

ccsx

Uploaded by

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

MySQL Full Course internship

ccsx

Uploaded by

chabdulmanan8953
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 95

<!...............MySQL Introduction...........................!

>

MYSQL is a database management system. A database is a collection of data stored in a format that can
easily be accessed.

to fill the form and submit the form data in a server or database.

DBMS software:

Oracle, MySQL, MS SQL server, PostgreSQL, MongoDB

types of database:

1.Relational Database

whole data is save in a separate tables.RDBMS use SQL(structured query language)

2.NOSQL Database

NOSQL is not a a Table-based Database.It is a document based.for example MongoDB, Redis, Cassandra
etc.

Advantages of MYSQL:

MYSQL is a cross platform. means code is done on any OS.

it is used with multiple popular languages (PHP, NodeJS, Python, C#).

MySQL software is a open source. (not payed monthly or yearly)

MYSQL is RDBMS

MYSQL database server is fast, reliable , scalable and easy to use. Mysql server works in client/server or
embeded systems.

Popular Websites using MYSQL

Facebook, Twitter, Goggle, Wikipedia, Youtube, Flicker, Pinterest

Content Management System using MySQL

Wordpress, Joomla, Drupal, Magento, phpBB, TYPO3, MODx


What we will learn in this Course:??

Create Database and Tables in database

Add Data in database.

Update data in database.

Read data and delete data from database by SQL Commandas.

<!...............MySQL Installation...........................!>

install any software:

XAMPP,WAMP,MAMP.

OR

MySQL server community server

MYSQL Server workbench

creat Database databasName;

creat Database test;

<!...............MySQL Create Table...........................!>

CREATE TABLE tablename(

column1 datatype ,

column2 datatype ,

column3 datatype ,

column4 datatype

);
Datatypes in MYSQL

3 types of Category in Database

1.String

2.Numeric

3.Date and Time

1.String

1.CHAR(size) length(0 to 255)

2.VARCHAR(size) length(0 to 65535)

3.BINARY(size) yes or no.

4.VARBINARY(size) yes or no.

5.TINYTEXT length(255 characters)

6.TEXT(sixe) 65535 bytes

7.MEDIUMTEXT length(16,777,215 characters)

8.LONGTEXT length(4,294,967,295 characters)

9.TINYBLOB(size) 255 bytes

10.BLOB(size) 65,535 bytes

11.MEDIUMBLOB(size) 16,777,215 bytes

12.LONGBLOB(size) 4,294,967,295 bytes

13.ENUM(val1,val2,val3,...) gives color list upto 65535 values

14.SET(val1,val2,val3,...) list upto 64 values


2.Numeric

1.BIT(size) length(1 to 64)

2.TINYINT (size) length(-128 to 127)

3.INT(size) length(-2147483648 to 2147483648)

4.INTEGER(size)

5.SMALLINT(size) length(-32768 to 32767)

6.MEDIUMINT(size) length(-8388608 to 8388608)

7.BIGINT(size)

8.BOOL

9.BOOLEAN 0/1

10. FLOAT(p)

11.DOUBLE(size,d) 255.568

12.DECIMAL(size,d) size=60,d=30

13.DEC(size,d)

3.Date and Time

1-DATE FORMAT: '1000-01-01' to '9999-12-31'

1-DATETIME(fsp) FORMAT: YYYY-MM-DD hh:mm:ss

3.TIMESTAMP(fsp) FORMAT: YYYY-MM-DD hh:mm:ss

4.TIME(fsp) FORMAT: hh:mm:ss

5. YEAR FORMAT: four digit format: 1901


Use database-name;

use test;

CREATE TABLE personal (

id INT ,

name VARCHAR(50) ,

birth_date DATE,

phone VARCHAR(15),

gender VARCHAR(1)

);

CREATE TABLE product(

pid INT ,

pname VARCHAR(50) ,

pcompany VARCHAR(50),

price INT

);

//show data

SELECT * FROM student.personal;

<!...............MySQL Insert...........................!>

Create Table

CREATE TABLE personal (

id INT ,

name VARCHAR(50) ,

birth_date DATE,
phone VARCHAR(15),

gender VARCHAR(1)

);

Insert Data in personal table

INSERT INTO tablename (column1,column2,....)

VALUES ( value1, value2,....);

INSERT INTO personal ( id, name, birth_date, phone, gender)

VALUES ( 1,"Abdullah", "1990-07-15", "9977664422", "M" );

INSERT INTO personal ( id, name, birth_date, phone, gender)

VALUES ( 2,"Meera Khan", "1991-02-10", "9988552211", "F" );

INSERT INTO personal ( id, name, birth_date, phone, gender)

VALUES ( 1,"Anil Kapoor", "1993-10-05", "9484542414", "M" );

SQL

<!...............Insert Multiple Data in perosnal table...........................!>

Create Table

CREATE TABLE personal (

id INT ,

name VARCHAR(50) ,
birth_date DATE,

phone VARCHAR(15),

gender VARCHAR(1)

);

Insert Multiple Data in perosnal table

INSERT INTO personal ( id, name, birth_date, phone, gender)

VALUES

( 3,"Anil Kapoor", "1993-10-05", "9484542414", "M" ),

( 4,"Juhi Chawla", "1992-03-15", "9477884421", "F" ),

( 5,"John Abraham", "1992-02-07", "947584421", "M" );

<!...............MySQL Constraints...........................!>

CONSTRAINTS means restrictions on column.

List of Constraint in MYSQL

1.NOT NULL (column entry is not null)

2.UNIQUE (remove duplicasy)

3.DEFAULT (default 'Agra')

4.CHECK (age>=18)

5.FOREIGN KEY

6.PRIMARY KEY

Create Table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,


city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

Test NOT NULL by skip gender column value

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(2,"Sarita","18","4015155","Agra");

Test DEFAULT value by skip city column value

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(3,"Salman Khan","20","M","4012155");

Test UNIQUE value by add same phone number

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(4,"Juhi Chawla","21","F","4016155");

Test constraints on AGE

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(5,"John","17","F","4017755");
<!...............MySQL SELECT & WHERE...........................!>

Create Table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

Insert Records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

SQL

Select Query Examples

SELECT * FROM personal;

SELECT id,name,phone FROM personal;

SELECT id AS Id,name AS Student,phone AS Phone FROM personal;


SELECT id AS Id,name AS "Student Name",phone AS Phone FROM personal;

SQL

Select with Where

SELECT * FROM personal WHERE gender = "F";

SELECT * FROM personal WHERE age<20;

SELECT * FROM personal WHERE city != "Agra";

SELECT * FROM personal WHERE city = "Agra";

SELECT id, name FROM personal WHERE city < > "Agra";

Comparison Operator Description

= Equal

<=> Equal (Safe to compare NULL values)

<> Not Equal

!= Not Equal

> Greater Than

>= Greater Than or Equal

< Less Than

<= Less Than or Equal

IN ( ) Matches a value in a list

NOT Negates a condition


BETWEEN Within a range (inclusive)

IS NULL NULL value

IS NOT NULL Non-NULL value

LIKE Pattern matching with % and _

EXISTS Condition is met if subquery returns at least one row

<!...............MySQL AND, OR, NOT...........................!>

Create Table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

Insert Records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),
(6,"John Abraham","21","M","4056776","Delhi");

SQL

AND, OR, NOT

SELECT * FROM personal WHERE age >= 18 AND age <= 21;

SELECT * FROM personal WHERE age <= 20 AND gender = "M";

SELECT * FROM personal WHERE age <= 20 OR city = "Agra";

SELECT * FROM personal WHERE (city = "Bhopal" OR city = "Agra") AND gender = "M";

SELECT * FROM personal WHERE NOT (city = "Bhopal" OR city = "Agra");

SELECT * FROM personal WHERE NOT age >= 20;

<!...............MySQL IN & NOT IN...........................!>

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);
SQL

Insert Records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

Scheme

IN & NOT IN

SELECT * FROM personal WHERE age IN(18,21);

SELECT * FROM personal WHERE age IN(18,21,19);

SELECT * FROM personal WHERE age NOT IN(18,21,19);

SELECT * FROM personal WHERE city IN("Delhi","Bhopal");

SELECT * FROM personal WHERE city NOT IN("Delhi","Bhopal");

SELECT * FROM personal WHERE id IN(1,3,4);


<!...............MySQL BETWEEN & NOT BETWEEN...........................!>

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

SQL

BETWEEN & NOT BETWEEN

SELECT * FROM personal WHERE age BETWEEN 18 AND 20;

SELECT * FROM personal WHERE age NOT BETWEEN 18 AND 20;


SELECT * FROM personal WHERE id BETWEEN 2 AND 5;

SELECT * FROM personal WHERE id NOT BETWEEN 2 AND 5;

SELECT * FROM personal WHERE name BETWEEN "a" AND "k";

SELECT * FROM personal WHERE name BETWEEN "anil" AND "kamal";

SELECT * FROM personal WHERE date BETWEEN "a" AND "k";

SQL

Create new database "test" for use BETWEEN with date EXAMPLE

Create table "persons" under "test" database

CREATE TABLE persons(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

birth_date DATE NOT NULL

);

SQL

insert records in "persons" table

INSERT INTO persons(id,name,birth_date)

VALUES

(1,"Ram","1995-02-10"),

(2,"Madan","1995-11-03"),

(3,"Salman","1996-06-12"),

(4,"Shoiab","1995-04-21"),

(5,"juhi","1996-09-25");
SQL

BETWEEN & NOT BETWEEN with date

SELECT * FROM persons WHERE birth_date BETWEEN "1995-01-01" AND "1995-06-30";

<!...............MySQL LIKE Operator & Wildcards...........................!>

where Name LIKE "s%" ; means start with s and % means unlimited character after s.

% Percentage sign: Represents zero, one, or multiple characters.

_ underscore: Represents a single character

Pattern Description

LIKE 'a%' start with "a"

LIKE '%a' End with "a"

LIKE '%am%' Have "am" in any position

LIKE 'a%m' start with "a" and Ends with "m"

LIKE '_a%' "a" in the second position

LIKE '__a%' "a" in the third position

LIKE '_oy' "o" in the second and "y" in the third position

Select with like operator syntax

select column1, column2, column3,

from table_name

where column_name LIKE pattern;


Select with Not like operator syntax

select column1, column2, column3,

from table_name

where column_name NOT LIKE pattern;

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

SQL

LIKE Operator & Wildcards

SELECT * FROM personal WHERE name LIKE "s%";


SELECT * FROM personal WHERE name LIKE "a%";

SELECT * FROM personal WHERE name LIKE "ram%";

SELECT * FROM personal WHERE name LIKE "rm%";

SELECT * FROM personal WHERE name LIKE "%am%";

SELECT * FROM personal WHERE name LIKE "r%" OR name LIKE "s%";

SELECT * FROM personal WHERE name NOT LIKE "r%";

SELECT * FROM personal WHERE BINARY name LIKE "r%";

Binary means start with exacltly small letter 'r', means check case sensitive;

SELECT * FROM personal WHERE name LIKE "%r";

SELECT * FROM personal WHERE name LIKE "%ar";

SELECT * FROM personal WHERE phone LIKE "%21";

SELECT * FROM personal WHERE name NOT LIKE "%21";

SELECT * FROM personal WHERE name LIKE "s%n";

SELECT * FROM personal WHERE name LIKE "r%r";


SELECT * FROM personal WHERE name LIKE "_am%";

SELECT * FROM personal WHERE name LIKE "__m%";

SELECT * FROM personal WHERE name LIKE "__l%";

SELECT * FROM personal WHERE name LIKE "r_m%";

SQL

<!...............MySQL Regular Expression...........................!>

Sign Pattern Description

^ '^ra' Beginning of string

$ 'an$' End of string

[...] '[rms]' any character listed between

the square brackets

[a-z] '[a-h]e' Match with in the range

p1|p2|p3 'tom|dick|harry' matches any of the patterns p1,p2 or p3

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,


phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

SQL

Regular Expression

SELECT * FROM personal WHERE name REGEXP 'ra';

SELECT * FROM personal WHERE name REGEXP 'ta';

SELECT * FROM personal WHERE name REGEXP 'man';

SELECT * FROM personal WHERE name REGEXP '^ra';

SELECT * FROM personal WHERE name REGEXP '^sa';

SELECT * FROM personal WHERE name REGEXP 'an$';


SELECT * FROM personal WHERE name REGEXP 'ram|kapoor|khan';

SELECT * FROM personal WHERE name REGEXP 'ram|poor|khan';

SELECT * FROM personal WHERE name REGEXP '^ram|poor|^khan';

SELECT * FROM personal WHERE name REGEXP '^ram|poor|khan$';

SELECT * FROM personal WHERE name REGEXP '[is]';

SELECT * FROM personal WHERE name REGEXP '[rm]';

SELECT * FROM personal WHERE name REGEXP '[rm]a';

SELECT * FROM personal WHERE name REGEXP '[rmh]a';

SELECT * FROM personal WHERE name REGEXP '^[rs]';

SELECT * FROM personal WHERE name REGEXP '[rs]$';

SELECT * FROM personal WHERE name REGEXP '[ra]$';

SELECT * FROM personal WHERE name REGEXP 'r[am]';

SELECT * FROM personal WHERE name REGEXP '[a-j]r';


<!...............MySQL ORDER BY & DISTINCT...........................!>

Ascending or descending Order (ASC or DESC)

Default order is Asecending

Select with Order By syntax

select column1, column2, column3,

from table_name

ORDER BY column1,column2,.... ASC | DESC;

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),
(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi");

SQL

ORDER BY

SELECT * FROM personal ORDER BY name;

SELECT * FROM personal ORDER BY name DESC;

SELECT * FROM personal WHERE city = "Agra" ORDER BY name DESC;

SELECT * FROM personal WHERE city = "Agra" ORDER BY name;

SELECT * FROM personal ORDER BY age;

SELECT * FROM personal ORDER BY city;

SELECT * FROM personal ORDER BY name,city;

SQL

DISTINCT

Distinct means remove duplicasy or gives unique value and gives only mentioned column.

Syntax:select DISTINCT column1, column2,.. from table_name;

SELECT DISTINCT city FROM personal;

SELECT DISTINCT age FROM personal;

SELECT DISTINCT age FROM personal ORDER BY age;


<!...............MySQL IS NULL & IS NOT NULL...........................!>

Syntax: select column1,column2, column3 FROM table_name WHERE column IS NULL;

select column1,column2, column3 FROM table_name WHERE column IS NOT NULL;

Create table

CREATE TABLE persons(

id INT NOT NULL UNIQUE,

name VARCHAR(50),

birth_date DATE

);

SQL

nsert records

INSERT INTO persons(id,name,birth_date)

VALUES

(1,"Ram","1995-02-10"),

(2,"Madan","1995-11-03"),

(3,"Salman","1996-06-12"),

(4,"Shoiab","1995-04-21"),

(5,"juhi","1996-09-25"),

(6,"Raman",NULL),

(7,NULL,"1996-08-10");

SQL

IS NULL & NOT NULL

SELECT * FROM persons WHERE Age IS NULL;

SELECT * FROM persons WHERE birth_date IS NULL;

SELECT * FROM persons WHERE name IS NULL;


SELECT * FROM persons WHERE name IS NOT NULL;

<!...............MySQL LIMIT & OFFSET...........................!>

select * from table_name

where condition

LIMIT number;

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,age,gender,phone,city)

VALUES

(1,"Ram Kumar","13","M","4022155","Agra"),

(2,"Sarita Kumari","21","F","4034421","Delhi"),

(3,"Salman Khan","20","M","4056221","Agra"),

(4,"Juhi Chawla","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","22","M","4025221","Agra"),

(6,"John Abraham","21","M","4056776","Delhi"),
(7,"Shahid Kapoor","20","M","4022784","Agra");

SQL

Limit

SELECT * FROM personal LIMIT 2;

SELECT * FROM personal LIMIT 3;

SELECT * FROM personal WHERE city = "Agra" LIMIT 3;

SELECT * FROM personal

WHERE city = "Agra"

ORDER BY name

LIMIT 3;

Offset

SELECT * FROM personal LIMIT offset, limit number;

offset means start after 3. means pehly 3 record skip kr dy ga.

SELECT * FROM personal LIMIT 3, 3;

SELECT * FROM personal LIMIT 6, 3;

SELECT * FROM personal LIMIT 0, 3;


<!...............MySQL Count, Sum, Min, Max, Avg...........................!>

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,percentage,age,gender,phone,city)

VALUES

(1,"Ram Kumar","45","13","M","4022155","Agra"),

(2,"Sarita Kumari","56","21","F","4034421","Delhi"),

(3,"Salman Khan","62","20","M","4056221","Agra"),

(4,"Juhi Chawla","47","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","74","22","M","4025221","Agra"),

(6,"John Abraham","64","21","M","4056776","Delhi"),

(7,"Shahid Kapoor","52","20","M","4022784","Agra");

SQL

COUNT

SELECT COUNT(name) FROM personal;


SELECT COUNT(*) FROM personal;

SELECT COUNT(DISTINCT city) FROM personal;

SELECT COUNT(DISTINCT city) AS Count FROM personal;

SQL

MAX

SELECT MAX(percentage) AS Percentage FROM personal;

SQL

MIN

SELECT MIN(percentage) AS Percentage FROM personal;

SELECT MIN(percentage) AS Percentage,name,city FROM personal;

SQL

SUM

SELECT SUM(percentage) AS Total FROM personal;

SQL

AVG

SELECT AVG(percentage) AS Average FROM personal;


<!...............MySQL UPDATE...........................!>

syntax: UPDATE table_name

SET column1_name=value1, column2_name=value2

WHERE condition;

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,percentage,age,gender,phone,city)

VALUES

(1,"Ram Kumar","45","13","M","4022155","Agra"),

(2,"Sarita Kumari","56","21","F","4034421","Delhi"),

(3,"Salman Khan","62","20","M","4056221","Agra"),

(4,"Juhi Chawla","47","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","74","22","M","4025221","Agra"),

(6,"John Abraham","64","21","M","4056776","Delhi"),

(7,"Shahid Kapoor","52","20","M","4022784","Agra");
SQL

UPDATE

UPDATE personal SET phone = "4055555" WHERE id = 1;

UPDATE personal SET percentage = 66 WHERE id = 2;

UPDATE personal SET age = 18 WHERE id IN (2,3);

UPDATE personal SET age = 19;

<!...............MySQL COMMIT & ROLLBACK...........................!>

rollback work with only three commands Insert,Update,Delete.

roll back return to his original form when the data is updated.

rollback not work when commit is not working.

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,

city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL
insert records

INSERT INTO personal(id,name,percentage,age,gender,phone,city)

VALUES

(1,"Ram Kumar","45","13","M","4022155","Agra"),

(2,"Sarita Kumari","56","21","F","4034421","Delhi"),

(3,"Salman Khan","62","20","M","4056221","Agra"),

(4,"Juhi Chawla","47","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","74","22","M","4025221","Agra"),

(6,"John Abraham","64","21","M","4056776","Delhi"),

(7,"Shahid Kapoor","52","20","M","4022784","Agra");

SQL

COMMIT & ROLLBACK

SELECT * FROM personal;

COMMIT;

UPDATE personal SET percentage = 60 WHERE id = 2;

ROLLBACK;

SQL

SELECT * FROM personal;

COMMIT; when commit command runs then no roll-back apply.

UPDATE personal SET age = 20 WHERE id = 4;


UPDATE personal SET percentage = 60 WHERE id = 2;

ROLLBACK;

SQL

SELECT * FROM personal;

UPDATE personal SET age = 20 WHERE id = 4;

COMMIT;

UPDATE personal SET percentage = 60 WHERE id = 2;

ROLLBACK;

<!...............MySQL DELETE...........................!>

Syntax: DELETE FROM table_name

WHERE condition;

DELETE FROM table_name;

create table

CREATE TABLE personal(

id INT NOT NULL UNIQUE,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL CHECK(age >= 18),

gender VARCHAR(1) NOT NULL,

phone VARCHAR(10) NOT NULL UNIQUE,


city VARCHAR(15) NOT NULL DEFAULT 'Agra'

);

SQL

insert records

INSERT INTO personal(id,name,percentage,age,gender,phone,city)

VALUES

(1,"Ram Kumar","45","13","M","4022155","Agra"),

(2,"Sarita Kumari","56","21","F","4034421","Delhi"),

(3,"Salman Khan","62","20","M","4056221","Agra"),

(4,"Juhi Chawla","47","18","F","4022155","Bhopal"),

(5,"Anil Kapoor","74","22","M","4025221","Agra"),

(6,"John Abraham","64","21","M","4056776","Delhi"),

(7,"Shahid Kapoor","52","20","M","4022784","Agra");

SQL

DELETE

//COMMIT;

DELETE FROM personal WHERE id = 4;

DELETE FROM personal WHERE gender = 'F';

DELETE FROM personal WHERE age > 20;

DELETE FROM personal;

//ROLLBACK;
<!...............MySQL PRIMARY KEY & FOREIGN KEY...........................!>

List of Constraints in MYSQL

Not Null

Unique

Default

Check

Primary Key:Primary key always has unique data.Difference between Uniqe key and primary

key is unique key can store null value but

primay key cannot store null value.a table can contain only one primary key constraints.

But we can use unique key with every column.

When creat new table then set primary key

Syntax: Creat table table_name(

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

age INT NOT NULL,

city VARCHAR(10) NOT NULL,

PRIMARY KEY(id)

);

set primary key to existing table with ALTER command.

ALTER TABLE table_name

ADD PRIMARY KEY (id);

Foreign Key:

a foreign key is a key used to link two tables together.

a foreign key in one table used to point PRIMARY Key in another table.
Syntax: Creat table table_name(

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

age INT NOT NULL,

city VARCHAR(10) NOT NULL,

PRIMARY KEY(id),

FOREIGN KEY (city) REFERENCES City (cid)

);

set Foreign key to existing table with ALTER command.

ALTER TABLE table_name

ADD FOREIGN KEY(city) REFERENCES City(cid);

create table "city"

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

SQL

insert records in "city" table

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),
('Jaipur'),

('Noida');

SQL

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid)

);

INSERT INTO personal(id,name,percentage,age,gender,city)

VALUES

(1,"Ram Kumar","45","13","M",1),

(2,"Sarita Kumari","56","21","F",2),

(3,"Salman Khan","62","20","M",1),

(4,"Juhi Chawla","47","18","F",3),

(5,"Anil Kapoor","74","22","M",1),

(6,"John Abraham","64","21","M",2),

(7,"Shahid Kapoor","52","20","M",1);
<!...............MySQL INNER JOIN...........................!>

Types of JOINS in MYSQL

1.INNER JOIN :INNER JOIN work between two tables. The inner join selects records that

have matching values in both tables.

2.LEFT JOIN

3.RIGHT JOIN

4.CROSS JOIN

Syntax of Inner Join:

SELECT columns(*)

FROM table1

INNER JOIN table2

ON table1.column_name=table2.column_name;

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

PRIMARY KEY (id),


FOREIGN KEY (city) REFERENCES City (cid)

);

INSERT INTO personal(id,name,percentage,age,gender,city)

VALUES

(1,"Ram Kumar","45","13","M",1),

(2,"Sarita Kumari","56","21","F",2),

(3,"Salman Khan","62","20","M",1),

(4,"Juhi Chawla","47","18","F",3),

(5,"Anil Kapoor","74","22","M",1),

(6,"John Abraham","64","21","M",2),

(7,"Shahid Kapoor","52","20","M",1);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL
INNER JOIN

SELECT * FROM personal INNER JOIN city

ON personal.city = city.cid;

Creat Alias of table_name:

SELECT * FROM personal p INNER JOIN city c

ON p.city = c.cid;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p INNER JOIN city c

ON p.city = c.cid;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p INNER JOIN city c

ON p.city = c.cid

WHERE c.cityname = "Agra";

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p INNER JOIN city c

ON p.city = c.cid

WHERE c.cityname = "Agra"

ORDER BY p.name;

Join and Inner Join has same Meaning:

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p JOIN city c

ON p.city = c.cid

WHERE c.cityname = "Agra"

ORDER BY p.name;
<!...............MySQL LEFT JOIN & RIGHT JOIN...........................!>

1.LEFT JOIN :The LEFT JOIN returns all records from the left table(table1),

and the matched records from the right table (table2).

Syntax: SELECT columns

FROM table1(left table)

LEFT JOIN table2(Right table)

ON table1.column_name=table2.column_name;

2.RIGHT JOIN :The RIGHT JOIN returns all records from the right table(table2),

and the matched records from the left table (table1).

Means show whole record of right table and show matched data from left table;

Syntax: SELECT columns

FROM table1(left table)

RIGHT JOIN table2(Right table)

ON table1.column_name=table2.column_name;

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,


name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid)

);

INSERT INTO personal(id,name,percentage,age,gender,city)

VALUES

(1,"Ram Kumar","45","13","M",1),

(2,"Sarita Kumari","56","21","F",2),

(3,"Salman Khan","62","20","M",1),

(4,"Juhi Chawla","47","18","F",3),

(5,"Anil Kapoor","74","22","M",1),

(6,"John Abraham","64","21","M",2),

(7,"Shahid Kapoor","52","20","M",1);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),
('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL

LEFT JOIN

SELECT * FROM personal LEFT JOIN city

ON personal.city = city.cid;

SELECT * FROM personal INNER JOIN city

ON personal.city = city.cid;

SELECT * FROM personal p LEFT JOIN city c

ON p.city = c.cid;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p LEFT JOIN city c

ON p.city = c.cid;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p LEFT JOIN city c

ON p.city = c.cid

WHERE gender = "M";

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p LEFT JOIN city c

ON p.city = c.cid

WHERE gender = "M"


ORDER BY name;

SQL

RIGHT JOIN: Gives matched and unmatched data.

SELECT * FROM personal RIGHT JOIN city

ON personal.city = city.cid;

SELECT * FROM personal p RIGHT JOIN city c

ON p.city = c.cid;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname

FROM personal p RIGHT JOIN city c

ON p.city = c.cid;
<!...............MySQL CROSS JOIN...........................!>

cross join is the technique to join every record of first table with record of second table.

Means if table1 has 4 rows data and table2 has 3 row of data.so cross joint of

both tables contains 12 rows of data. 4x3=12

has be

Syntax: SELECT *

FROM table1 CROSS JOIN table2;

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid)

);

INSERT INTO personal(id,name,percentage,age,gender,city)

VALUES

(1,"Ram Kumar","45","13","M",1),

(2,"Sarita Kumari","56","21","F",2),

(3,"Salman Khan","62","20","M",1),

(4,"Juhi Chawla","47","18","F",3),

(5,"Anil Kapoor","74","22","M",1),

(6,"John Abraham","64","21","M",2),

(7,"Shahid Kapoor","52","20","M",1);

SQL
create table"city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL

CROSS JOIN

SELECT *

FROM personal CROSS JOIN city;

SELECT p.id,p.name,c.cityname

FROM personal p CROSS JOIN city c;

SELECT p.id,p.name AS Name,c.cityname AS City

FROM personal p CROSS JOIN city c;

SELECT p.id,p.name AS Name,c.cityname AS City

FROM personal p , city c;


<!...............MySQL JOIN MULTIPLE TABLES...........................!>

SELECT columns

FROM table1

INNER JOIN table2

ON table1.column_name=table2.column_name

INNER JOIN table3

ON table1.column_name=table3.column_name;

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO personal(id,name,percentage,age,gender,city,courses)


VALUES

(1,"Ram Kumar","45","13","M",1,1),

(2,"Sarita Kumari","56","21","F",2,2),

(3,"Salman Khan","62","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,1),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","52","20","M",1,3);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,


PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

Join Multiple Tables

SELECT * FROM personal p INNER JOIN city c

ON p.city = c.cid;

SELECT * FROM personal p INNER JOIN city c

ON p.city = c.cid

INNER JOIN courses cr

ON p.courses = cr.course_id;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname,cr.course_name

FROM personal p INNER JOIN city c

ON p.city = c.cid

INNER JOIN courses cr

ON p.courses = cr.course_id;

SELECT p.id,p.name,p.percentage,p.age,p.gender,c.cityname,cr.course_name

FROM personal p INNER JOIN city c

ON p.city = c.cid

INNER JOIN courses cr

ON p.courses = cr.course_id
WHERE c.cityname = "Agra";

<!...............MySQL GROUP BY & HAVING...........................!>

The GROUP BY clause is used in conjunction with the SELECT statement and

Aggrgate functions(sum,min,max etc)

to group rows together by common column values.

Syntax –

SELECT column1,column2,columnn

FROM table_name

where condition

GROUP BY column_name(s);

For multiople tables:

Syntax –

SELECT column1,column2,columnn

FROM table1 INNER JOIN table2

ON table1.column_name=table2.column_name

where condition

GROUP BY column_name(s);

Having Clause is just the aggregate function used with the GROUP BY clause.

The HAVING clause is used instead of WHERE with aggregate functions.


While the GROUP BY Clause groups rows that have the same values into summary rows.

The having clause is used with the where clause in order to find rows with certain conditions.

The having clause is always used after the group By clause.

Syntax –

SELECT column1,column2,columnn

FROM table_name

GROUP BY column_name

HAVING aggregate_function(column_name) condition;

Example Query:

Consider the food database:

Select food items with cost greater than 200

SELECT food_item

from food

GROUP BY(food_item)

HAVING SUM(cost) > 200;

Result:

Item : cakes

Item : chocoss

Item : fry

Item : milk
create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO personal(id,name,percentage,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","13","M",1,1),

(2,"Sarita Kumari","56","21","F",2,2),

(3,"Salman Khan","62","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,1),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","52","20","M",1,3);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,


PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

GROUP BY

SELECT city,COUNT(city)

FROM personal

GROUP BY city;
SELECT c.cityname,COUNT(p.city)

FROM personal p INNER JOIN city c

ON p.city = c.cid

GROUP BY city;

SELECT c.cityname,COUNT(p.city) AS Total

FROM personal p INNER JOIN city c

ON p.city = c.cid

GROUP BY city;

SELECT c.cityname,COUNT(p.city) AS Total

FROM personal p INNER JOIN city c

ON p.city = c.cid

WHERE p.age >= 20

GROUP BY city;

SELECT c.cityname,COUNT(p.city) AS Total

FROM personal p INNER JOIN city c

ON p.city = c.cid

GROUP BY city

ORDER BY COUNT(p.city);

SELECT c.cityname,COUNT(p.city) AS Total

FROM personal p INNER JOIN city c

ON p.city = c.cid

GROUP BY city

ORDER BY COUNT(p.city) DESC;

SQL
HAVING

SELECT c.cityname,COUNT(p.city) AS Total

FROM personal p INNER JOIN city c

ON p.city = c.cid

GROUP BY city

HAVING COUNT(p.city) > 3

ORDER BY COUNT(p.city) DESC;

<!...............MySQL SubQuery With EXISTS & NOT EXISTS...........................!>

syntax; select columns

from table1

where

columns=(select columns from table2 where condition);

create table "personal" and insert records

CREATE TABLE personal(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),


FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO personal(id,name,percentage,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","13","M",1,1),

(2,"Sarita Kumari","56","21","F",2,2),

(3,"Salman Khan","62","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,1),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","52","20","M",1,3);

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

use SubQuery

SELECT name FROM personal


WHERE courses = (SELECT course_id FROM courses WHERE course_name = "MBA");

SELECT course_id FROM courses WHERE course_name = "MBA";

'IN operator matches multiple values';

SELECT name FROM personal

WHERE courses IN (SELECT course_id FROM courses WHERE course_name IN ("MBA","Btech"));

SQL

Syntax of Exists & Not Exists:

select columns

from table1

where

EXISTS(selct columns from table2 where condition);

*Exists(selct columns from table2 where condition)->if any single record exists

then Parent command show results.

*Not Exists(selct columns from table2 where condition)->if not any single record exists

then Parent command show results.

Exists & Not Exists

SELECT name FROM personal

WHERE EXISTS (SELECT course_id FROM courses WHERE course_name IN ("MBA"));

SELECT name FROM personal

WHERE EXISTS (SELECT course_id FROM courses WHERE course_name IN ("Mtech"));


SELECT name FROM personal

WHERE NOT EXISTS (SELECT course_id FROM courses WHERE course_name IN ("Mtech"));

SELECT name FROM personal

WHERE NOT EXISTS (SELECT course_id FROM courses WHERE course_name IN ("MBA"));

<!...............MySQL UNION & UNION ALL...........................!>

Syntax:select column1, column2 from table1

UNION/UNION ALL

select column1, column2 from table2;

Rules:Each SELECT statement within UNION must have the same number of columns

2.The columns must also have similar data types.

3.The columns in each select statement must also be in the same order.

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),


FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,age,gender,city,courses)

VALUES

(1,"Ram Kumar","19","M",1,1),

(2,"Sarita Kumari","22","F",2,2),

(3,"Salman Khan","20","M",1,1),

(4,"Juhi Chawla","18","F",3,3),

(5,"Anil Kapoor","22","M",1,3),

(6,"John Abraham","21","M",2,2),

(7,"Shahid Kapoor","20","M",1,1);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL
create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

create table "lecturers" and insert records

CREATE TABLE lecturers(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO lecturers(id,name,age,gender,city,courses)

VALUES

(1,"Raj Kapoor","37","M",1,2),
(2,"Sadhna","39","F",4,3),

(3,"Ram Kumar","38","M",2,1),

(4,"Salim Khan","45","M",3,2),

(5,"Nagma","42","F",2,1);

SQL

UNION & UNION ALL

SELECT * FROM students

UNION

SELECT * FROM lecturers;

SELECT name FROM students

UNION

SELECT name FROM lecturers;

*Union All show duplicate Entry;

SELECT name FROM students

UNION ALL

SELECT name FROM lecturers;

SELECT name,age FROM students

UNION ALL

SELECT name,age FROM lecturers;


SELECT name,age FROM students WHERE gender ="M"

UNION ALL

SELECT name,age FROM lecturers WHERE gender ="M";

SELECT name,age FROM students WHERE gender ="M"

UNION ALL

SELECT name,age FROM lecturers WHERE gender ="F";

SELECT name,age FROM students WHERE city =2

UNION ALL

SELECT name,age FROM lecturers WHERE city = 2;

SELECT name,age FROM students

WHERE city = (SELECT cid FROM city WHERE cityname = "Delhi")

UNION ALL

SELECT name,age FROM lecturers

WHERE city = (SELECT cid FROM city WHERE cityname = "Delhi");

SELECT s.name,s.age, c.cityname

FROM students s

INNER JOIN city c

ON s.city = c.cid

WHERE c.cityname = "Delhi"

UNION ALL
SELECT l.name,l.age,ci.cityname

FROM lecturers l

INNER JOIN city ci ON l.city = ci.cid

WHERE ci.cityname = "Delhi";

<!...............MySQL IF & CASE Statement..........................!>

Syntax of IF: select column1,column2

if(condition,TRUE Result, FALSE Result) AS alias_name

FROM table_name;

Syntax of Case Clause:

select column1,column2

CASE

WHEN Condition1 THEN result1

WHEN Condition2 THEN result2

WHEN Condition3 THEN result3

ELSE result alias_name

END AS alias_name

FROM table_name;

create table "students" and insert records


CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","19","M",1,1),

(2,"Sarita Kumari","85","22","F",2,2),

(3,"Salman Khan","29","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,3),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","120","20","M",1,1);

SQL

IF Clause

SELECT id,name,percentage,

IF(percentage >= 33,"Pass","Fail") AS Result

FROM students;

SQL
CASE Clause

SELECT id,name,percentage,

CASE

WHEN percentage >= 80 AND percentage <=100 THEN "Merit"

WHEN percentage >= 60 AND percentage <80 THEN "Ist Division"

WHEN percentage >= 45 AND percentage <60 THEN "IInd Division"

WHEN percentage >= 33 AND percentage <45 THEN "IIIrd Division"

WHEN percentage < 33 THEN "Fail"

ELSE "Not Correct %" //wrong entry

END AS Grade

FROM students;

UPDATE students SET

percentage = (CASE id

WHEN 3 THEN 39

WHEN 7 THEN 62

END)

WHERE id IN (3,7);
<!...............MySQL Arithmetic Functions...........................!>

LIST of Arithmetic Function in MYSQL :

*PI() *SIN()

*ROUND() *COS()

*CEIL() *TAN()

*FLOOR() *ASIN()

*POW() *ACOS()

*SQRT() *ATAN()

*RAND(random number between o and 1) *ATAN2()

*ABS() :(-6.2,6.2)ROMOVE NEGATIVE VALUE: GIVES 6.2 *COT()

*SIGN(NUMBER) *RADIANS()

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),


FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","19","M",1,1),

(2,"Sarita Kumari","85","22","F",2,2),

(3,"Salman Khan","29","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,3),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","120","20","M",1,1);

SQL

Arithmetic Functions

SELECT 5 + 6;

SELECT 5 + 6 AS Total;

SELECT 5 - 6 AS Total;

SELECT 5 * 6 AS Total;

SELECT 15 / 6 AS Total;

SELECT 15 DIV 6 AS Total;

SELECT 15 % 6 AS Total;
SELECT 15 MOD 6 AS Total;

SELECT id,name,percentage

FROM students;

SELECT id,name,(percentage + 5) FROM students;

SELECT id,name,(percentage + 5) AS "NEW Percentage" FROM students;

SELECT id,name,(percentage * 5) AS "NEW Percentage" FROM students;

SELECT PI();

SELECT ROUND(4.51);

SELECT ROUND(4.49);

SELECT ROUND(-4.49);

SELECT ROUND(-4.55);

SELECT ROUND(1234.987);

SELECT ROUND(1234.987,2);

SELECT CEIL(1.23);

SELECT CEIL(1.56);
SELECT CEIL(4.23);

SELECT FLOOR(4.56);

SELECT FLOOR(4.40);

SELECT POW(2,2);

SELECT POW(2,3);

SELECT POW(4,3);

SELECT SQRT(16);

SELECT SQRT(4);

SELECT SQRT(5);

SELECT ROUND(SQRT(5));

SELECT RAND();

SELECT RAND() * 100;

SELECT ROUND(RAND() * 100);

SELECT FLOOR(7 + (RAND() * 6));

SELECT FLOOR(1 + (RAND() * 5));


SELECT id,name,percentage,RAND() FROM students;

SELECT id,name,percentage FROM students ORDER BY RAND();

SELECT ABS(-56);

SELECT ABS(-56.25);

SELECT ABS(56.25);

SELECT SIGN(25);

SELECT SIGN(0);

SELECT SIGN(-25);

SELECT SIGN(-3.25);
<!...............MySQL String Function...........................!>

Function Description

ASCII Returns the ASCII value for the specific character

CHAR_LENGTH Returns the length of a string (in characters)

CHARACTER_LENGTH Returns the length of a string (in characters)

CONCAT Adds two or more expressions together

CONCAT_WS Adds two or more expressions together with a separator

FIELD Returns the index position of a value in a list of values

FIND_IN_SET Returns the position of a string within a list of strings

FORMAT Formats a number to a format like "#,###,###.##", rounded to a


specified number of decimal places

INSERT Inserts a string within a string at the specified position and for a certain
number of characters

INSTR Returns the position of the first occurrence of a string in another string

LCASE Converts a string to lower-case

LEFT Extracts a number of characters from a string (starting from left)

LENGTH Returns the length of a string (in bytes)

LOCATE Returns the position of the first occurrence of a substring in a string

LOWER Converts a string to lower-case

LPAD Left-pads a string with another string, to a certain length

LTRIM Removes leading spaces from a string

MID Extracts a substring from a string (starting at any position)

POSITION Returns the position of the first occurrence of a substring in a string

REPEAT Repeats a string as many times as specified

REPLACE Replaces all occurrences of a substring within a string, with a


new substring

REVERSE Reverses a string and returns the result

RIGHT Extracts a number of characters from a string (starting from right)

RPAD Right-pads a string with another string, to a certain length


RTRIM Removes trailing spaces from a string

SPACE Returns a string of the specified number of space characters

STRCMP Compares two strings

SUBSTR Extracts a substring from a string (starting at any position)

SUBSTRING Extracts a substring from a string (starting at any position)

SUBSTRING_INDEX Returns a substring of a string before a specified number of


delimiter occurs

TRIM Removes leading and trailing spaces from a string

UCASE Converts a string to upper-case

UPPER Converts a string to upper-case

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,age,gender,city,courses)


VALUES

(1,"Ram Kumar","45","19","M",1,1),

(2,"Sarita Kumari","85","22","F",2,2),

(3,"Salman Khan","29","20","M",1,1),

(4,"Juhi Chawla","47","18","F",3,3),

(5,"Anil Kapoor","74","22","M",1,3),

(6,"John Abraham","64","21","M",2,2),

(7,"Shahid Kapoor","120","20","M",1,1);

SQL

String Functions

SELECT id, UPPER(name) AS Name , percentage

FROM students;

SELECT id, UCASE(name) AS Name , percentage

FROM students;

SELECT id, LOWER(name) AS Name , percentage

FROM students;

SELECT id, LCASE(name) AS Name , percentage

FROM students;

SELECT id, name,CHARACTER_LENGTH(name) AS Characters

FROM students;

SELECT id, name,CHAR_LENGTH(name) AS Characters

FROM students;
SELECT id, name,LENGTH(name) AS Characters

FROM students;

SELECT id, CONCAT(name, " " ,percentage) AS Name

FROM students;

SELECT id, CONCAT(name, " - " ,percentage) AS Name

FROM students;

SELECT CONCAT("Yahoo","Baba","Youtube","Channel") AS Name;

SELECT CONCAT_WS("Yahoo","Baba","Youtube","Channel") AS Name;

SELECT CONCAT_WS(" - ","Baba","Youtube","Channel") AS Name;

SELECT " Yahoo Baba " AS Name;

SELECT LTRIM(" Yahoo Baba ") AS Name;

SELECT " Yahoo Baba " AS Name;

SELECT RTRIM(" Yahoo Baba ") AS Name;

SELECT TRIM(" Yahoo Baba ") AS Name;

SELECT POSITION("Baba" IN "Yahoo Baba") AS Name;

SELECT POSITION("Baba" IN "Yahoo Baba Baba") AS Name;


SELECT POSITION("a" IN "Yahoo Baba Baba") AS Name;

SELECT INSTR("Yahoo Baba Baba","a") AS Name;

SELECT INSTR("Yahoo Baba Baba","Baba") AS Name;

SELECT INSTR("Yahoo Baba Baba","hoo") AS Name;

SELECT LOCATE("hoo","Yahoo Baba Baba") AS Name;

SELECT LOCATE("a","Yahoo Baba Baba") AS Name;

SELECT LOCATE("a","Yahoo Baba Baba",3) AS Name;


<!...............MySQL String Functions - II...........................!>

SELECT SUBSTRING("Yahoo Baba",3);

SELECT SUBSTRING("Yahoo Baba",3) AS Name;

SELECT SUBSTRING("Yahoo Baba",5) AS Name;

SELECT SUBSTRING("Yahoo Baba",3,6) AS Name;

SELECT SUBSTRING("Yahoo Baba",-6,3) AS Name;

SELECT SUBSTR("Yahoo Baba",-6,3) AS Name;

SELECT MID("Yahoo Baba",-6,3) AS Name;

SELECT SUBSTRING_INDEX("www.yahoobaba.net",".",1) AS Name;

SELECT SUBSTRING_INDEX("www.yahoobaba.net",".",2) AS Name;

SELECT SUBSTRING_INDEX("www.yahoobaba.net","o",2) AS Name;

SELECT LEFT("Yahoo Baba",3) AS Name;

SELECT LEFT("Yahoo Baba",5) AS Name;

SELECT RIGHT("Yahoo Baba",5) AS Name;

SELECT RIGHT("Yahoo Baba",3) AS Name;


SELECT RPAD("Yahoo Baba",20,"-") AS Name;

SELECT RPAD("Yahoo Baba",20,"ABC") AS Name;

SELECT LPAD("Yahoo Baba",20,"*") AS Name;

SELECT SPACE(100) AS Name;

SELECT REVERSE("Yahoo Baba") AS Name;

SELECT REPLACE("Yahoo Baba","Baba","Wow") AS Name;

SELECT REPLACE("Yahoo Baba Yoo Baba","Baba","Wow") AS Name;

SELECT STRCMP("Yahoo Baba","yahoo baba") AS Name;

SELECT STRCMP("Yahoo Baba","yahoo ") AS Name;

SELECT STRCMP("Yahoo ","yahoo baba") AS Name;

SELECT FIELD("a","X","a","k") AS Name;

SELECT FIELD("a","X","A","k") AS Name;

SELECT FIELD(5,0,1,2,3,4,5) AS Name;

SELECT FIELD("ram","Ram","Mohan","Shyam") AS Name;

SELECT FIND_IN_SET("ram","Ram,Mohan,Shyam") AS Name;


SELECT FIND_IN_SET("Mohan","Ram, Mohan, Shyam") AS Name;

SELECT FIND_IN_SET("Mohan","Ram,Mohan,Shyam") AS Name;

SELECT FORMAT(255.3568,2) AS Value;

SELECT FORMAT(255.3568,3) AS Value;

SELECT HEX("Yahoo Baba") AS Value;

<!...............MySQL Date Functions...........................!>

SELECT CURRENT_DATE();

SELECT CURDATE();

SELECT SYSDATE();

SELECT NOW();

SELECT DATE("2019-10-15 09:34:21") AS DATE;

SELECT MONTH("2019-10-15 09:34:21") AS DATE;


SELECT MONTHNAME("2019-10-15 09:34:21") AS DATE;

SELECT YEAR("2019-10-15 09:34:21") AS DATE;

SELECT QUARTER("2019-10-15 09:34:21") AS DATE;

SELECT QUARTER("2019-03-15 09:34:21") AS DATE;

SELECT DAY("2019-10-15 09:34:21") AS DATE;

SELECT DAYOFMONTH("2019-10-15 09:34:21") AS DATE;

SELECT DAYNAME("2019-06-15 09:34:21") AS DATE;

SELECT DAYOFWEEK("2019-03-15 09:34:21") AS DATE;

SELECT DAYOFYEAR("2019-06-15 09:34:21") AS DATE;

SELECT WEEK("2019-06-15 09:34:21") AS DATE;

SELECT WEEKDAY("2019-03-15 09:34:21") AS DATE;

SELECT YEARWEEK("2019-06-15 09:34:21") AS DATE;

SELECT LAST_DAY("2019-02-15 09:34:21") AS DATE;

SELECT EXTRACT(MONTH FROM "2019-03-15 09:34:21") AS DATE;


SELECT EXTRACT(DAY FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(YEAR FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(WEEK FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(HOUR FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(MINUTE FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(SECOND FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(MICROSECOND FROM "2019-03-15 09:34:21") AS DATE;

SELECT EXTRACT(HOUR_MINUTE FROM "2019-03-15 09:34:21") AS DATE;


<!...............MySQL Date Functions - II...........................!>

SELECT ADDDATE("2019-06-15",INTERVAL 10 DAY) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 50 DAY) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 1 MONTH) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 1 WEEK) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 1 YEAR) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 1 QUARTER) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 12 HOUR) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 24 HOUR) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 500 MINUTE) AS Date;

SELECT ADDDATE("2019-06-15",INTERVAL 5000 MINUTE) AS Date;

SELECT DATE_ADD("2019-06-15",INTERVAL 5000 MINUTE) AS Date;

SELECT MAKEDATE(2019,3);

SELECT MAKEDATE(2016,3);

SELECT SUBDATE("2019-06-15",INTERVAL 1 DAY) AS Date;


SELECT SUBDATE("2019-06-15",INTERVAL 10 DAY) AS Date;

SELECT SUBDATE("2019-06-15",INTERVAL 10 MONTH) AS Date;

SELECT DATEDIFF("2019-06-15","2019-02-10") AS Date;

SELECT DATEDIFF("2019-06-15","2019-06-01") AS Date;

SELECT DATEDIFF("2019-06-15","2018-06-01") AS Date;

SELECT TO_DAYS("2019-06-15") AS Date;

SELECT FROM_DAYS("685000") AS Date;

SELECT PERIOD_ADD("685000",5) AS Date;

SELECT PERIOD_DIFF("685000","695000") AS Date;

SELECT DATE_FORMAT("2019-06-15","%Y") AS Date;

SELECT DATE_FORMAT("2019-06-15","%d/%b/%Y") AS Date;

SELECT DATE_FORMAT("2019-06-15","%d-%c-%Y") AS Date;

SELECT DATE_FORMAT("2019-06-15","%d/%b/%y") AS Date;

SELECT DATE_FORMAT("2019-06-15","%d-%c-%y, %W") AS Date;

SELECT DATE_FORMAT("2019-06-15 02:30:50:20","%d-%c-%y, %h:%i") AS Date;


SELECT STR_TO_DATE("July 10 2019","%M %d %Y") AS Date;

<!...............MySQL Time Function...........................!>

SELECT CURRENT_TIME();

SELECT CURTIME();

SELECT CURRENT_TIMESTAMP();

SELECT LOCALTIME();

SELECT LOCALTIMESTAMP();

SELECT TIME("2019-06-15 13:15:20") AS Time;

SELECT HOUR("2019-06-15 13:15:20") AS Time;

SELECT MINUTE("2019-06-15 13:15:20") AS Time;

SELECT SECOND("2019-06-15 13:15:20") AS Time;

SELECT MICROSECOND("2019-06-15 13:15:20") AS Time;


SELECT TIMEDIFF("18:10:11","13:15:20") AS Time;

SELECT TIMEDIFF("14:10:11","13:15:20") AS Time;

SELECT ADDTIME("2019-06-15 05:30:20.000001","5:5.000003") AS Time;

SELECT ADDTIME("2019-06-15 05:30:20.000001","2:10:5.000003") AS Time;

SELECT ADDTIME("2019-06-15 05:30:20.000001","5 2:10:5.000003") AS Time;

SELECT SUBTIME("2019-06-15 05:30:20.000001","5 2:10:5.000003") AS Time;

SELECT MAKETIME(16,15,20) AS Time;

SELECT TIMESTAMP("2019-06-15","13:15:20") AS Time;

SELECT TIME_FORMAT("13:15:20","%H") AS Time;

SELECT TIME_FORMAT("13:15:20","%H %i %s") AS Time;

SELECT TIME_FORMAT("13:15:20","%H-%i-%s") AS Time;

SELECT TIME_FORMAT("13:15:20","%H-%i-%s %p") AS Time;

SELECT SEC_TO_TIME("1") AS Time;

SELECT SEC_TO_TIME("5454") AS Time;


<!...............MySQL ALTER...........................!>

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

dob DATE NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,dob,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","2000-05-10","19","M",1,1),

(2,"Sarita Kumari","85","1997-02-03","22","F",2,2),

(3,"Salman Khan","29","1999-11-12","20","M",1,1),

(4,"Juhi Chawla","47","2001-07-16","18","F",3,1),

(5,"Anil Kapoor","74","1997-01-03","22","M",1,3),

(6,"John Abraham","64","1998-08-10","21","M",2,2),
(7,"Shahid Kapoor","62","1999-12-08","20","M",1,3);

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

ALTER Examples

ALTER TABLE students

ADD Email varchar(255);

ALTER TABLE students

MODIFY Email varchar(255)

AFTER name;

ALTER TABLE students

MODIFY Email INT(10);

ALTER TABLE students

ADD UNIQUE (Email);


ALTER TABLE students

CHANGE Email Email_id carchar(255);

ALTER TABLE students

DROP COLUMN Email_id;

ALTER TABLE students

RENAME studentss;

ALTER TABLE studentss

RENAME students;

ALTER TABLE courses

AUTO_INCREMENT = 4;
<!...............MySQL DROP & TRUNCATE...........................!>

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,age,gender,city,courses)

VALUES

(1,"Ram Kumar","19","M",1,1),

(2,"Sarita Kumari","22","F",2,2),

(3,"Salman Khan","20","M",1,1),

(4,"Juhi Chawla","18","F",3,3),

(5,"Anil Kapoor","22","M",1,3),

(6,"John Abraham","21","M",2,2),

(7,"Shahid Kapoor","20","M",1,1);

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,


PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),

('Bhopal'),

('Jaipur'),

('Noida');

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA')

('BA')

('BCOM');

SQL

DROP & TRUNCATE

TRUNCATE TABLE courses;


DROP TABLE courses;

<!...............MySQL VIEW...........................!>

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

dob DATE NOT NULL,

age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,dob,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","2000-05-10","19","M",1,1),

(2,"Sarita Kumari","85","1997-02-03","22","F",2,2),

(3,"Salman Khan","29","1999-11-12","20","M",1,1),
(4,"Juhi Chawla","47","2001-07-16","18","F",3,1),

(5,"Anil Kapoor","74","1997-01-03","22","M",1,3),

(6,"John Abraham","64","1998-08-10","21","M",2,2),

(7,"Shahid Kapoor","62","1999-12-08","20","M",1,3);

SQL

create table "courses" and insert records

CREATE TABLE courses(

course_id INT NOT NULL AUTO_INCREMENT,

course_name VARCHAR(50) NOT NULL,

PRIMARY KEY (course_id)

);

INSERT INTO courses(course_name)

VALUES('Btech'),

('BCA'),

('MBA');

SQL

create table "city" and insert records

CREATE TABLE city(

cid INT NOT NULL AUTO_INCREMENT,

cityname VARCHAR(50) NOT NULL,

PRIMARY KEY (cid)

);

INSERT INTO city(cityname)

VALUES('Agra'),

('Delhi'),
('Bhopal'),

('Jaipur'),

('Noida');

SQL

VIEW Examples

/* Create view */

CREATE VIEW studentdata

AS

SELECT id,name,course_name FROM students s

INNER JOIN courses c ON s.courses = c.course_id;

/* show view */

SELECT * FROM studentdata;

/* Alter view */

ALTER VIEW studentdata

AS

SELECT id,name,course_name,cityname FROM students s

INNER JOIN courses c ON s.courses = c.course_id

INNER JOIN city ci ON s.city = ci.cid;

/* Another way to alter */

CREATE OR REPLACE VIEW studentdata

AS

SELECT id,name,course_name,cityname FROM students s


INNER JOIN courses c ON s.courses = c.course_id

INNER JOIN city ci ON s.city = ci.cid;

/* rename view */

RENAME TABLE studentdata

TO studentcourse;

/* show view */

SELECT * FROM studentcourse;

/* Delete/Drop view */

DROP VIEW studentcourse;

<!...............MySQL INDEX...........................!>

create table "students" and insert records

CREATE TABLE students(

id INT NOT NULL,

name VARCHAR(50) NOT NULL,

percentage INT NOT NULL,

dob DATE NOT NULL,


age INT NOT NULL,

gender VARCHAR(1) NOT NULL,

city INT NOT NULL,

courses INT NOT NULL,

PRIMARY KEY (id),

FOREIGN KEY (city) REFERENCES City (cid),

FOREIGN KEY (courses) REFERENCES Courses (course_id)

);

INSERT INTO students(id,name,percentage,dob,age,gender,city,courses)

VALUES

(1,"Ram Kumar","45","2000-05-10","19","M",1,1),

(2,"Sarita Kumari","85","1997-02-03","22","F",2,2),

(3,"Salman Khan","29","1999-11-12","20","M",1,1),

(4,"Juhi Chawla","47","2001-07-16","18","F",3,1),

(5,"Anil Kapoor","74","1997-01-03","22","M",1,3),

(6,"John Abraham","64","1998-08-10","21","M",2,2),

(7,"Shahid Kapoor","62","1999-12-08","20","M",1,3);

SQL

INDEX Examples

SELECT * FROM students

WHERE dob > "1999-01-01";

/* create index*/

CREATE INDEX studdob ON students (dob);

/* show index */

SHOW INDEX FROM students;


/* delete index */

DROP INDEX studdob ON students;


CREATE TABLE `tbl_student` (

`employee_id` int(15) NOT NULL AUTO_INCREMENT,

`id_number` varchar(18) NOT NULL UNIQUE,

`first_name` varchar(30) NOT NULL,

`last_name` varchar(30) NOT NULL,

`middle_name` varchar(30) NOT NULL,

`gender` varchar(8) NOT NULL,

`department_id` int(11) NOT NULL,

`contact_number` varchar(15) NOT NULL,

`email_address` varchar(50) NOT NULL,

`username` varchar(30) NOT NULL,

`password` int(15) NOT NULL,

`account_status` varchar(15) NOT NULL,

PRIMARY KEY(employee_id),

FOREIGN KEY (department_id) REFERENCES tbl_department (department_id)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

You might also like