[go: up one dir, main page]

0% found this document useful (0 votes)
90 views23 pages

Class XI (As Per CBSE Board) : Informatics Practices

SQL is a standard language for accessing and modifying relational databases. It was originally developed in the 1970s. Many database systems use SQL, including MySQL, PostgreSQL, Oracle, SQLite, and Microsoft SQL Server. MySQL is currently the most popular open source database software. It allows users to create databases and tables, insert, query, update, and manipulate data using SQL commands. Common SQL commands include SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, and DROP TABLE. MySQL also supports various data types, indexes, views, triggers, and constraints.

Uploaded by

prithiks
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views23 pages

Class XI (As Per CBSE Board) : Informatics Practices

SQL is a standard language for accessing and modifying relational databases. It was originally developed in the 1970s. Many database systems use SQL, including MySQL, PostgreSQL, Oracle, SQLite, and Microsoft SQL Server. MySQL is currently the most popular open source database software. It allows users to create databases and tables, insert, query, update, and manipulate data using SQL commands. Common SQL commands include SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, and DROP TABLE. MySQL also supports various data types, indexes, views, triggers, and constraints.

Uploaded by

prithiks
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

New

syllabus
2020-21

Chapter 11
SQL

Informatics Practices
Class XI ( As per CBSE Board)
Visit : python.mykvs.in for regular updates
SQL
SQL is an acronym of Structured Query Language. It is a
standard language developed and used for accessing and
modifying relational databases.
The SQL language was originally developed at the IBM
research laboratory in San José, in connection with a project
developing a prototype for a relational database
management system called System R in the early 70s.
SQL is being used by many database management systems.
Some of them are:
 MySQL
 PostgreSQL
 Oracle
 SQLite
 Microsoft SQL Server
Visit : python.mykvs.in for regular updates
SQL

Advantages of using SQL


• High speed.
• No coding needed.
• Well defined standards.
• Portability.
• Interactive language.
• Multiple data view.

Visit : python.mykvs.in for regular updates


MYSQL

MySQL is currently the most popular open source database


software. It is a multi-user, multithreaded database
management system. MySQL is especially popular on the web. It
is one of the parts of the very popular LAMP platform. Linux,
Apache, MySQL and PHP or WIMP platform
Windows,Apache,MySQL and PHP.
MySQL AB was founded by Michael Widenius (Monty), David
Axmark and Allan Larsson in Sweden in year 1995.

Visit : python.mykvs.in for regular updates


MYSQL

MySQL Features
Open Source & Free of Cost:
It is Open Source and available at free of cost.
Portability:
Small enough in size to instal and run it on any types of Hardware
and OS like Linux,MS Windows or Mac etc.
Security :
Its Databases are secured & protected with password.
Connectivity
Various APIs are developed to connect it with many programming
languages.
Query Language
It supports SQL (Structured Query Language) for handling database.

Visit : python.mykvs.in for regular updates


MYSQL

Types of SQL Commands


 DDL (Data Definition Language)
To create database and table structure-commands
like CREATE , ALTER , DROP etc.
 DQL (Data Query Language)
To retrieve the data from database
SELECT
 DML (Data Manipulation Language)
Record/rows related operations.commands like
INSERT..., DELETE..., UPDATE.... etc.
 DCL (Data Control Language)
used to manipulate permissions or access rights to the tables.commands
like GRANT , REVOKE etc.
 Transactional control Language.
Used to control the transactions.commands like
COMMIT, ROLLBACK, SAVEPOINT etc.

Visit : python.mykvs.in for regular updates


MYSQL

MySql datatypes
numeric
decimal -decimal(<precision>, [<scale>]) [zerofill] For storing floating-
point numbers where precision is critical.
Int - int(<size>) [auto_increment] [unsigned] [zerofill]
A whole number, 4 bytes, with a maximum range of -2,147,483,648 to
2,147,483,647 (unsigned: 0 to 4,294,967, 295)
string
char-char(<size>) [binary]
Fixed length – for storing strings that won't vary much in size.
Range of 0 to 255, stores that amount in bytes
Varchar-varchar(<size>) [binary]
Variable length – for storing strings that will vary in size.
Range of 0 to 255, stores that amount in bytes, plus 1 byte
date
Date-Format: YYYY-MM-DD ,Example: 2006-09-23,Range of years 1000 to
9999

Visit : python.mykvs.in for regular updates


MYSQL
Database Commands in MySql
Getting listings of database and tables
mysql> SHOW DATABASES;
mysql> SHOW TABLES;
Creating a database-
mysql> CREATE database myschool;
Deleting a database mysql> DROP database abc;
to remove table mysql> drop table abctable;
After we have created the database we use the USE statement to change the
current
mysql> USE myschool;
Creating a table in the database is achieved with CREATE table statement.
mysql> CREATE TABLE student (lastname varchar(15),firstname varchar(15),
city varchar(20), class char(2));
The command DESCRIBE is used to view the structure of a table.
mysql> DESCRIBE student;
Visit : python.mykvs.in for regular updates
MYSQL

Database Commands in MySql


To insert new rows into an existing table use the INSERT command:
mysql>INSERT INTO student values(‘dwivedi’,’freya’,’Udaipur’,’4’);
Similarly we can insert multiple records.With the SELECT command we
can retrieve previously inserted rows:
mysql> SELECT * FROM student;
Selecting rows by using the WHERE clause in the SELECT command
mysql> SELECT * FROM student WHERE class=“4";
Selecting specific columns(Projection) by listing their names
mysql> SELECT first_name, class FROM student;
To modify or update entries in the table use the UPDATE command
mysql> UPDATE student SET class=“V" WHERE firstname=“freya";

Visit : python.mykvs.in for regular updates


MYSQL
Database Commands in MySql
Deleting selected rows from a table using the DELETE command
mysql> DELETE FROM student WHERE firstname=“amar";
A general form of SELECT is:
SELECT what to select(field name) FROM table(s)
WHERE condition that the data must satisfy;
Comparison operators are: < ; <= ; = ; != or <> ; >= ; >
Logical operators are: AND ; OR ; NOT
Comparison operator for special value NULL: IS
mysql> SELECT * FROM Student WHERE City IS NULL ;
BETWEEN- to access data in specified range
mysql> SELECT * FROM Student WHERE class between 4 and 6;
IN- operator allows us to easily test if the expression in the list of
values.
mysql> SELECT * FROM Student WHERE class in (4,5,6);
Visit : python.mykvs.in for regular updates
MYSQL
Database Commands in MySql
Pattern Matching – LIKE Operator
A string pattern can be used in SQL using the following wild card
% Represents a substring in any length
_ Represents a single character
Example:
‘A%’ represents any string starting with ‘A’ character.
‘_ _A’ represents any 3 character string ending with ‘A’.
‘_B%’ represents any string having second character ‘B’
‘_ _ _’ represents any 3 letter string.
A pattern is case sensitive and can be used with LIKE operator.
mysql> SELECT * FROM Student WHERE Name LIKE ‘A%’;
mysql> SELECT * FROM Student WHERE Name LIKE%Singh%’;
mysql> SELECT Name, City FROM Student WHERE Class>=8 AND Name
LIKE ‘%Kumar%’ ;

Visit : python.mykvs.in for regular updates


MYSQL

Database Commands in MySql


Ordering Query Result – ORDER BY Clause
A query result can be orders in ascending (A-Z) or descending
(Z-A) order as per any column. Default is Ascending order.
mysql> SELECT * FROM Student ORDER BY class;
To get descending order use DESC key word.
mysql> SELECT * FROM Student ORDER BY class DESC;

Visit : python.mykvs.in for regular updates


MYSQL

Database Commands in MySql


Creating Table with Constraints
The following constraints are commonly used in SQL:
NOT NULL -It Ensures that a column cannot have a NULL value
UNIQUE - It Ensures that all values in a column are different
PRIMARY KEY - A combination of a NOT NULL and UNIQUE. Uniquely
identifies each row in a table
FOREIGN KEY - It Uniquely identifies a row/record in another table
CHECK - It Ensures that all values in a column satisfies a specific
condition
DEFAULT - It Sets a default value for a column when no value is
specified
INDEX - It is Used to create and retrieve data from the database very
quickly
Visit : python.mykvs.in for regular updates
MYSQL
Database Commands in MySql
Creating Table with Constraints
mysql> CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT ‘Jaipur',
CONSTRAINT CHK_Person CHECK (Age>=18)
);
mysql> CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(ID)
);
Visit : python.mykvs.in for regular updates
MYSQL
Database Commands in MySql
Altering Table
The SQL ALTER TABLE command is used to add, delete or modify
columns in an existing table. You should also use the ALTER TABLE
command to add and drop various constraints on an existing table.
Syntax
The basic syntax of an ALTER TABLE command to add a New Column in
an existing table is as follows.
ALTER TABLE table_name ADD column_name datatype;
The basic syntax of an ALTER TABLE command to DROP COLUMN in an
existing table is as follows.
ALTER TABLE table_name DROP COLUMN column_name;
The basic syntax of an ALTER TABLE command to change the DATA
TYPE of a column in a table is as follows.
ALTER TABLE table_name MODIFY COLUMN column_name datatype;

Visit : python.mykvs.in for regular updates


MYSQL
Database Commands in MySql
Altering Table
The basic syntax of an ALTER TABLE command to add a NOT NULL constraint to a column in a
table is as follows.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
The basic syntax of ALTER TABLE to ADD UNIQUE CONSTRAINT to a table is as follows.
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
The basic syntax of an ALTER TABLE command to ADD CHECK CONSTRAINT to a table is as
follows.
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
The basic syntax of an ALTER TABLE command to ADD PRIMARY KEY constraint to a table is as
follows.
ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
The basic syntax of an ALTER TABLE command to DROP CONSTRAINT from a table is as follows.
ALTER TABLE table_name
DROP CONSTRAINT MyUniqueConstraint;

Visit : python.mykvs.in for regular updates


MYSQL

Database Commands in MySql


Altering Table
ALTER TABLE table_name
DROP INDEX MyUniqueConstraint;
The basic syntax of an ALTER TABLE command to DROP PRIMARY KEY
constraint from a table is as follows.

ALTER TABLE table_name


DROP CONSTRAINT MyPrimaryKey;
If we are using MySQL, the code is as follows −

ALTER TABLE table_name


DROP PRIMARY KEY;

Visit : python.mykvs.in for regular updates


MYSQL
Grouping Records in a Query
• Some time it is required to apply a Select query in a group of records
instead of whole table.
• We can group records by using GROUP BY <column> clause with Select
command. A group column is chosen which have non-distinct (repeating)
values like City, Job etc.
• Generally, the following Aggregate Functions [MIN(), MAX(), SUM(), AVG(),
COUNT()] etc. are applied on groups.

Name Purpose
SUM() Returns the sum of given column.
MIN() Returns the minimum value in the given column.
MAX() Returns the maximum value in the given column.
AVG() Returns the Average value of the given column.
COUNT() Returns the total number of values/ records as per given
column.
NOTE – groupby and having clause is not included in class xi syllabus but
aggregation functions are there.
Visit : python.mykvs.in for regular updates
MYSQL
Aggregate Functions & NULL
Consider a table Emp having following records as-
Null values are excluded while (avg)aggregate function is used
Emp
Code Name Sal
E1 Mohak NULL
E2 Anuj 4500
E3 Vijay NULL
E4 Vishal 3500
SQL Queries E5 Anil 4000 Result of query
mysql> Select Sum(Sal) from EMP; 12000
mysql> Select Min(Sal) from EMP; 3500
mysql> Select Max(Sal) from EMP; 4500
mysql> Select Count(Sal) from EMP; 3
mysql> Select Avg(Sal) from EMP; 4000
mysql> Select Count(*) from EMP; 5
Visit : python.mykvs.in for regular updates
MYSQL
Aggregate Functions & Group
An Aggregate function may applied on a column with DISTINCT or ALL keyword. If
nothing is given ALL is assumed.
Using SUM (<Column>)
This function returns the sum of values in given column or expression.
mysql> Select Sum(Sal) from EMP;
mysql> Select Sum(DISTINCT Sal) from EMP;
mysql> Select Sum ( S a l ) from EMP where City=‘Jaipur’;
mysql> Select Sum ( S a l ) from EMP Group By City;
mysql> Select Job, Sum(Sal) from EMP Group By Job;
Using MIN (<column>)
This functions returns the Minimum value in the given column.
mysql> Select Min(Sal) from EMP;
mysql> Select Min(Sal) from EMP Group By City;
mysql> Select Job, Min(Sal) from EMP Group By Job;

Visit : python.mykvs.in for regular updates


MYSQL

Aggregate Functions & Group


Using MAX (<Column>)
This function returns the Maximum value in given column.
mysql> Select Max(Sal) from EMP;
mysql> Select Max(Sal) from EMP where City=‘Jaipur’;
mysql> Select Max(Sal) from EMP Group By Ci ty;
Using AVG (<column>)
This functions returns the Average value in the given column.
mysql> Select AVG(Sal) from EMP;
mysql> Select AVG(Sal) from EMP Group By C i t y ;
Using COUNT (<*|column>)
This functions returns the number of rows in the given column.
mysql> Select Count ( * ) from EMP;
mysql> Select Count(Sal) from EMP Group By City;
mysql> Select Count(*), Sum(Sal) from EMP Group By Job;

Visit : python.mykvs.in for regular updates


MYSQL
Aggregate Functions & Conditions
You may use any condition on group, if required. HAVING
<condition> clause is used to apply a condition on a group.
mysql> Select Job,Sum(Pay) from EMP
Group By Job HAVING Sum(Pay)>=8000;

mysql> Select Job, Sum(Pay)from EMP


Group By Job HAVING Avg(Pay)>=7000;

mysql> Select Job, Sum(Pay)from EMP


Group By Job HAVING Count(*)>=5;
mysql> Select Job, Min(Pay),Max(Pay), Avg(Pay) from EMP Group By Job
HAVING Sum(Pay)>=8000;

mysql> Select Job, Sum(Pay) from EMP Where City=‘Jaipur’


Note :- Where clause works in respect of whole table but Having works on
Group only. If Where and Having both are used then Where will be executed first.

Visit : python.mykvs.in for regular updates


MYSQL

Ordering Query Result – ORDER BY Clause


A query result can be orders in ascending (A-Z) or descending
(Z-A)
order as per any column. Default is Ascending order.
mysql> SELECT * FROM Student ORDER BY City;
To get descending order use DESC key word.
mysql> SELECT * FROM Student ORDER BY City DESC;
mysql> SELECT Name, Fname, City FROM Student
Where Name LIKE ‘R%’ ORDER BY Class;

Visit : python.mykvs.in for regular updates

You might also like