What is SQL?

SQL is the standard language for dealing with Relational Databases. SQL can be used to insert, search, update, and delete database records. SQL can do lots of other operations, including optimizing and maintenance of databases.

SQL Full Form

SQL stands for Structured Query language, pronounced as "S-Q-L" or sometimes as "See-Quel"... Relational databases like MySQL Database, Oracle, MS SQL Server, Sybase, etc. use ANSI SQL.

What is SQL?

How to Use SQL

SQL Code Example:

SELECT * FROM Members WHERE Age > 30 

SQL syntaxes used in different databases are almost similar, though few RDBMS use a few different commands and even proprietary SQL syntaxes.

Click here if the video is not accessible

What is SQL used for?

Here are important reasons for using SQL

  • It helps users to access data in the RDBMS system.
  • It helps you to describe the data.
  • It allows you to define the data in a database and manipulate that specific data.
  • With the help of SQL, you can create and drop databases and tables.
  • SQL offers you to use the function in a database, create a view, and stored procedure.
  • You can set permissions on tables, procedures, and views.

A Brief History of SQL

Here are important landmarks from the history of SQL:

  • 1970 - Dr. Edgar F. "Ted" Codd described a relational model for databases.
  • 1974 - Structured Query Language appeared.
  • 1978 - IBM released a product called System/R.
  • 1986 - IBM developed the prototype of a relational database, which is standardized by ANSI.
  • 1989 - First ever version launched of SQL
  • 1999 - SQL 3 launched with features like triggers, object-orientation, etc.
  • SQL 2003 - window functions, XML-related features, etc.
  • SQL 2006 - Support for XML Query Language
  • SQL 2011 -improved support for temporal databases

Types of SQL Statements

Here are five types of widely used SQL queries.

  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Transaction Control Language (TCL)
  • Data Query Language (DQL)

List of SQL Commands

Here's a list of some of the most commonly used SQL commands:

  • CREATE - defines the database structure schema
  • INSERT - inserts data into the row of a table
  • UPDATE - updates data in a database
  • DELETE - removes one or more rows from a table
  • SELECT - selects the attribute based on the condition described by the WHERE clause
  • DROP - removes tables and databases

SQL Process

When you want to execute an SQL command for any DBMS system, you need to find the best method to carry out your request, and SQL engine determines how to interpret that specific task.

Important components included in this SQL process are:

  • SQL Query Engine
  • Optimization Engines
  • Query Dispatcher
  • Classic Query Engine

A classic query engine allows you to manage all the non-SQL queries.

SQL Process
SQL Process

SQL Standards

SQL is a language to operate databases. It includes database creation, deletion, fetching rows, modifying rows, etc. SQL is an ANSI (American National Standards Institute) standard language. SQL standards are divided into several parts.

Here are some important parts of SQL standards:

Part Description
Part 1 - SQL/Framework It offers logical concepts.
Part 2 - SQL/Foundation It includes central elements of SQL.
Part 3 - SQL/CLI This standard includes central elements of SQL.
Part 4 - Persistent Stored Modules Stored routines, external routines, and procedural language extensions to SQL.
Part 9 - Management of External Data Adds syntax and definitions to SQL/Foundation, which allow SQL access to non-SQL data sources (files).
Part 10 - Object Language Bindings Object Language Bindings: This part specifies the syntax and semantics of embedding SQL in Java™.
Part 11 - SQL/Schema Information and Definition Schemas
Part 12 - SQL/Replication This project began in 2000. This part helps to define the syntax and semantics to allow the definition of replication schemes and rules.
Part 13 - Java Routines and Type Java Routines and Types: This part of routines using the Java Programming Language.
Part 14 - SQL/XML SQL and XML
Part 15 - SQL/MDA Provide SQL support for Multi-Dimensional Arrays

SQL Language elements

Here are important elements of SQL language:

  • Keywords: Each SQL statement contains single or multiple keywords.
  • Identifiers: Identifiers are names of objects in the database, like user IDs, tables, and columns.
  • Strings: Strings can be either literal strings or expressions with VARCHAR or CHAR data types.
  • Expressions: Expressions are formed from several elements, like constants, SQL operators, column names, and subqueries.
  • Search Conditions: Conditions are used to select a subset of the rows from a table or used to control statements like an IF statement to determine control of flow.
  • Special Values: Special values should be used in expressions and as column defaults when building tables.
  • Variables: Sybase IQ supports local variables, global variables, and connection-level variables.
  • Comments: Comment is another SQL element which is used to attach explanatory text to SQL statements or blocks of statements. The database server does not execute any comment.
  • NULL Value: Use NULL, which helps you to specify a value that is unknown, missing, or not applicable.

What is a database in SQL?

A database in SQL Server that is made up of a collection of tables that stores a detailed set of structured data. It is a table that contains a collection of rows, referred to as records or tuples, and columns that are also referred to as attributes.

Each column in the table is designed to store a specific type of information, for example, names, dates, dollar amounts, and numbers.

What is NoSQL?

NoSQL is an upcoming category of Database Management Systems. Its main characteristic is its non-adherence to Relational Database Concepts. NoSQL means "Not only SQL". The concept of NoSQL databases grew with internet giants such as Google, Facebook, Amazon etc. who deal with gigantic volumes of data.

When you use a relational database for massive volumes of data, the system starts getting slow in terms of response time. To overcome this, we could "scale up" our systems by upgrading our existing hardware. The alternative to the above problem would be to distribute our database load on multiple hosts as the load increases. This is known as "scaling out".

NoSQL database is non-relational databases that scale-out better than relational databases and are designed with web applications in mind. They do not use SQL to query the data and do not follow strict schemas like relational models. With NoSQL, ACID (Atomicity, Consistency, Isolation, Durability) features are not guaranteed always.

Why it makes sense to learn SQL after NoSQL?

With the advantages of NoSQL databases outlined which scale-out better than relational models, you might be thinking why one would still want to learn about the SQL database? Well, NoSQL databases are highly specialized systems and have their special usage and limitations. NoSQL suit more for those who handle huge volumes of data. The vast majority use relational databases and associated tools.

Relational databases have the following advantages over NoSQL databases.

  • SQL (relational) databases have a mature data storage and management model. This is crucial for enterprise users.
  • SQL database supports the notion of views that allow users to only see data that they are authorized to view. The data that they are not authorized to see is kept hidden from them.
  • SQL databases support stored procedure SQL which allows database developers to implement a part of the business logic into the database.
  • SQL databases have better security models compared to NoSQL databases.

The world has not deviated from the use of relational databases. There is a growing demand for professionals who can handle relational databases. Thus, learning databases and SQL basics still holds merit.

The Best Book to Learn SQL

Here are some top five SQL books:

  • SQL Tutorial for Beginners

    In this SQL Tutorial for beginners PDF, you will learn basic Database concepts, MS-SQL commands, and advanced topics like SQL joins, Create, add and drop a table, etc. BUY NOW

  • SQL in 10 Minutes:

    This SQL book offers full-color code examples to help you understand how SQL statements are structured. You will also get knowledge of shortcuts and solutions. BUY NOW

  • SQL Cookbook:

    In this SQL book, you will be able to learn the technique of walking a string that allows you to use SQL to parse characters, words, or delimited elements of a string. BUY NOW

  • SQL: The Complete Reference

    This book includes important Microsoft SQL topics like Window functions, Pivoting rows into columns, reverse-pivoting columns into rows. BUY NOW

  • SQL Pocket Guide: A Guide to SQL Usage

    The book teaches you how the systems use SQL functions, regular expression syntax, and type conversion functions. BUY NOW

For more SQL Books - Click here

Summary/Key Takeaways

  • SQL language is used to query a database
  • What does SQL stand for or SQL means: Structured Query Language
  • SQL Used for:
    • RDBMS system
    • Describe, define & manipulate Data
    • Create and Drop Databases & table
  • Types of SQL statements: DDL, DML, DCL, TCL, DQL
  • List of SQL Command: CREATE, INSERT, UPDATE, DELETE, SELECT, DROP
  • SQL Language Elements: Keywords, Identifiers, Strings, Expressions, Variables, etc.
  • NoSQL : means "Not only SQL" is and upcoming category of Database Management Systems
  • The database approach has many advantages when it comes to storing data compared to the traditional flat file-based systems

 

YOU MIGHT LIKE: