SQL, in full,means, structured query language, computer language designed for eliciting information from databases
In the 1970s computer scientists began developing a standardized way to manipulate databases, and out of that research came SQL. The late 1970s and early ’80s saw the release of a number of SQL-based products. SQL gained popularity when the American National Standards Institute (ANSI) adopted the first SQL standard in 1986. Continued work on relational databases led to improvements in SQL, making it one of the most popular database languages in existence. Some large software companies, such as Microsoft corporation and Oracle Corporation produced their own versions of SQL, and an open source version, MySQL, became extremely popular.
SQL works by providing a way for programmers and other computer users to get desired information from a database using something resembling normal English. On the simplest level, SQL consists of only a few commands: Select, which grabs data; Insert, which adds data to a database; Update, which changes information; and Delete, which deletes information. Other commands exist to create, modify, and administer databases.
What is the purpose of SQL?
SQL stands for Structured Query Language. It is used for storing and managing data in relational database management system (RDMS). It is a standard language for Relational Database System. It enables a user to create, read, update and delete relational databases and tables.
What is the purpose of SQL?SQL stands for Structured Query Language. It is used for storing and managing data in relational database management system (RDMS). It is a standard language for Relational Database System. It enables a user to create, read, update and delete relational databases and tables.
Features of Structured Query Language (SQL)
SQL is the standard language used for writing queries in a databases. It was approved by ISO (International Standard Organization) and ANSI(American National Standards Institute).
SQL contains of some important features and they are:
- Data Definition language (DDL):
It contains of commands which defines the data. The commands are:create: It is used to create a table.
Syntax:create table tablename(attribute1 datatype……attributen datatype); drop: It is used to delete the table including all the attributes.
Syntax:
drop table tablename; alter: alter is a reserve word which modifies the structure of the table.
Syntax:alter table tablename add(new column1 datatype……new columnx datatype); rename: A table name can be changed using the reserver ‘rename’
Syntax:rename old table name to new table name; - Data Manipulation Language (DML):
Data Manipulation Language contains commands used to manipulate the data.
The commands are:insert: This command is generally used after the create command to insert a set of values into the table.
Syntax:insert into tablename values(attribute1 datatype); : : : insert into tablename values (attributen datatype); delete: A command used to delete particular tuples or rows or cardinality from the table.
Syntax:delete from tablename where condition; update: It updates the tupples in a table.
Syntax:update tablename set tupplename=’attributename’; - Triggers:
Triggers are actions performed when certain conditions are met on the data.A trigger contains of three parts.- (i). event – The change in the database that activates the trigger is event.
- (ii). condition – A query or test that is run when the trigger is activated.
- (iii). action – A procedure that is executed when trigger is activated and the condition met is true.
- Client server execution and remote database access:
Client server technology maintains a many to one relationship of clients(many) and server(one). We have commands in SQL that control how a client application can access the database over a network. - Security and authentication:
SQL provides a mechanism to control the database meaning it makes sure that only the particular details of the database is to be shown the user and the original database is secured by DBMS. - Embedded SQL:
SQL provides the feature of embedding host languages such as C, COBOL, Java for query from their language at runtime. - Transaction Control Language:
Transactions are an important element of DBMS and to control the transactions, TCL is used which has commands like commit, rollback and savepoint.commit: It saves the database at any point whenever database is consistent.
Syntax:commit; rollback: It rollbacks/undo to the previous point of the transaction.
Syntax:rollback; savepoint: It goes back to the previous transaction without going back to the entire transaction.
Syntax:savepoint; - Advanced SQL:
The current features include OOP ones like recursive queries, decision supporting queries and also query supporting areas like data mining, spatial data and XML(Xtensible Markup Language).
SQL Commands
- SQL commands are instructions. It is used to communicate with the database. It is also used to perform specific tasks, functions, and queries of data.
- SQL can perform various tasks like create a table, add data to tables, drop the table, modify the table, set permission for users.
Types of SQL Commands
There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL.
1. Data Definition Language (DDL)
- DDL changes the structure of the table like creating a table, deleting a table, altering a table, etc.
- All the command of DDL are auto-committed that means it permanently save all the changes in the database.
Here are some commands that come under DDL:
- CREATE
- ALTER
- DROP
- TRUNCATE
a. CREATE It is used to create a new table in the database.
Syntax:
- CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,….]);
Example:
- CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);
b. DROP: It is used to delete both the structure and record stored in the table.
Syntax
- DROP TABLE ;
Example
- DROP TABLE EMPLOYEE;
c. ALTER: It is used to alter the structure of the database. This change could be either to modify the characteristics of an existing attribute or probably to add a new attribute.
Syntax:
To add a new column in the table
- ALTER TABLE table_name ADD column_name COLUMN-definition;
To modify existing column in the table:
- ALTER TABLE MODIFY(COLUMN DEFINITION….);
EXAMPLE
- ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));
- ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));
d. TRUNCATE: It is used to delete all the rows from the table and free the space containing the table.
Syntax:
- TRUNCATE TABLE table_name;
Example:
- TRUNCATE TABLE EMPLOYEE;
2. Data Manipulation Language
- DML commands are used to modify the database. It is responsible for all form of changes in the database.
- The command of DML is not auto-committed that means it can’t permanently save all the changes in the database. They can be rollback.
Here are some commands that come under DML:
- INSERT
- UPDATE
- DELETE
a. INSERT: The INSERT statement is a SQL query. It is used to insert data into the row of a table.
Syntax:
- INSERT INTO TABLE_NAME
- (col1, col2, col3,…. col N)
- VALUES (value1, value2, value3, …. valueN);
Or
- INSERT INTO TABLE_NAME
- VALUES (value1, value2, value3, …. valueN);
For example:
- INSERT INTO javatpoint (Author, Subject) VALUES (“Sonoo”, “DBMS”);
b. UPDATE: This command is used to update or modify the value of a column in the table.
Syntax:
- UPDATE table_name SET [column_name1= value1,…column_nameN = valueN] [WHERE CONDITION]
For example:
- UPDATE students
- SET User_Name = ‘Sonoo’
- WHERE Student_Id = ‘3’
c. DELETE: It is used to remove one or more row from a table.
Syntax:
- DELETE FROM table_name [WHERE condition];
For example:
- DELETE FROM javatpoint
- WHERE Author=”Sonoo”;
3. Data Control Language
DCL commands are used to grant and take back authority from any database user.
Here are some commands that come under DCL:
- Grant
- Revoke
a. Grant: It is used to give user access privileges to a database.
Example
- GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
b. Revoke: It is used to take back permissions from the user.
Example
- REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;
4. Transaction Control Language
TCL commands can only use with DML commands like INSERT, DELETE and UPDATE only.
These operations are automatically committed in the database that’s why they cannot be used while creating tables or dropping them.
Here are some commands that come under TCL:
- COMMIT
- ROLLBACK
- SAVEPOINT
a. Commit: Commit command is used to save all the transactions to the database.
Syntax:
- COMMIT;
Example:
- DELETE FROM CUSTOMERS
- WHERE AGE = 25;
- COMMIT;
b. Rollback: Rollback command is used to undo transactions that have not already been saved to the database.
Syntax:
- ROLLBACK;
Example:
- DELETE FROM CUSTOMERS
- WHERE AGE = 25;
- ROLLBACK;
c. SAVEPOINT: It is used to roll the transaction back to a certain point without rolling back the entire transaction.
Syntax:
- SAVEPOINT SAVEPOINT_NAME;
5. Data Query Language
DQL is used to fetch the data from the database.
It uses only one command:
- SELECT
a. SELECT: This is the same as the projection operation of relational algebra. It is used to select the attribute based on the condition described by WHERE clause.
Syntax:
- SELECT expressions
- FROM TABLES
- WHERE conditions;
For example:
- SELECT emp_name
- FROM employee
- WHERE age > 20;
- IMPORTANCE OF SQL
- SQL (Structured Query Language) is a standard database language that is used to create, maintain and retrieve relational databases. Started in the 1970s, SQL has become a very important tool in a data scientist’s toolbox since it is critical in accessing, updating, inserting, manipulating and modifying data.
- 3 Reasons Every Aspiring Data Scientist Must Learn SQL
Understanding your Dataset
As a data scientist, the first thing you want to know is an in-depth understanding of the dataset you are working with. Learning SQL will give you a solid understanding of relational databases and hence enable you to master the foundations of data science.
SQL will help you to sufficiently investigate your dataset, visualize it, identify the structure and get to know how your dataset actually looks like. It will enable you to find out if there are any missing values, identify outliers, NULLS and the format of your dataset. Through slicing, filtering, aggregations and sorting, SQL will allow you to play around with your dataset, be thoroughly familiar with it, and know how the values are distributed and how the dataset is organized. As a scalpel is on the hand of a surgeon, so is SQL on the hand of a data scientist for it is irrefutably useful in ‘incising’ through the dataset for detailed understanding.
3. Integrates with Scripting Languages
In as much as SQL is powerful in data access, querying and manipulation, it is limited in some aspects like visualization. As a data scientist, you will need to meticulously present your data in a way that is easily understood by your team or organization. SQL integrates well with other scripting languages like R and Python. You can easily integrate SQL and Python to be able to do your work comfortably by incorporating your code package as a stored procedure.
Also, specialized connection libraries for SQL like SQLite and MySQLdb can be very useful in connecting a client app to your database engine thereby allowing you to work with your dataset.
. Manage huge volumes of data
Data science in most cases involves dealing with huge volumes of data stored in relational databases. Working with such volumes of data needs high-level solutions to manage it other than the usual spreadsheets. As the volumes of datasets increase, it becomes untenable to use spreadsheets. The best solution for dealing with huge datasets is SQL. SQL has the capacity to manage such datasets.
With SQL, you do not have to worry when dealing with pools of data in relational databases. It can communicate, query and provide useful insights from the data.
A Gateway to Data Science Jobs
For most data science jobs, proficiency in SQL ranks higher than the other programming languages. Data science involves dealing with large datasets in databases and it will require expertise in SQL to be able to solve the problems in your project. Programming in SQL is highly marketable as far as data science is concerned. The ability to store, update, access control and manipulate datasets is a great skill for every data scientist. SQL will, therefore, provide you with this ability that will make you sought-after and useful in organizations that need data scientists.
Furthermore, SQL integrates with many database management systems like MySQL, Microsoft SQL Server, Oracle Database, dBase among others that allows one to dynamically build SQL statements for projects. This integration also makes it possible to switch between the systems. SQL is used in most industries such as computer software, health, manufacturing, transport, banking, etc. In short, SQL is there to stay and mastering it will be an advantage for an aspiring data scientist.
In conclusion, as a free open-source programming language, SQL is at the very foundation of data science. Communication with relational databases will be easier when you learn SQL. I would recommend that any aspiring data scientist should learn SQL because it is easy to learn, helps in a deep understanding of datasets, integrates easily with scripting languages, manages huge datasets and its indeed a gateway to lucrative data science jobs. So, before you begin learning other programming languages for data science, why don’t you begin with SQL and have a cool entry into data science.
Drop your comment