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
MYSQL
- MySQL is currently the most popular open source database software.
- It is a multi-user, multi-threaded 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.
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.
Types of SQL Commands
- DDL (Data Definition Language) To create database and table structure-commands like CREATE , ALTER , DROP etc.
- DML (Data Manipulation Language) Record/rows related operations.commands like SELECT...., INSERT..., DELETE..., UPDATE.... etc.
- DCL (Data Control Language) Used to control the transactions.commands like COMMIT, ROLLBACK, SAVEPOINT etc.
- TCL (Transactional control Language) used to manipulate permissions or access rights to the tables.commands like GRANT , REVOKE etc.
MySql datatypes
- numeric decimal :-
- decimal(
, [ For storing floating-point numbers where precision is critical.]) [zerofill] - Int :-
- int(
) [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( ) [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( ) [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
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 abc ;
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 (firstname varchar(15),lastname varchar(15), city varchar(20), class char(2));
The command DESCRIBE is used to view the structure of a table.
mysql> DESCRIBE student;
Database Commands in MySql
To insert new rows into an existing table use the INSERT command:
mysql>INSERT INTO student values(‘Rahul’,’suthar’,’Jaisalmer’,’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=“Rahul";
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);
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%’ ;
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;
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
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) );
Altering 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;
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;
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;
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
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.
Aggregate Functions
Aggregate Functions
Aggregate Functions
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;
No comments:
Post a Comment