Monday, December 14, 2020

My SQL


Introduction: SQL (Structured Query Language)


SQL is an acronym of Structured Query Language.
  1. It is a standard language developed and used for accessing and modifying relational databases. 
  2. 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. 
  3. SQL is being used by many database management systems. 
  4. 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(, []) [zerofill] For storing floating-point numbers where precision is critical. 
  • 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

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;

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