Skip to main content

Introduction to SQL

 Q.)  What is SQL?

Ans.) SQL(Structured Query Language) is a standardized language to communicate with the database. 

  • With the help of it we can retrieve data from the database.
  • SQL not only allows us to read the data but also allows us to write the data in the database. 
  • Data in the database is stored in the form of tables.
  • We can Select, Insert, Update, Delete, Create, Alter, Drop and can perform many more operations on the table. And these are called as SQL Statements.


* SQL Statements are classified mainly into 4 categories:-

1) DML (Data Manipulation Language)

2) DDL (Data Definition Language)

3) DCL (Data Control Language)

4) TCL (Transaction Control Language)


* Under DML we have :-(No Autocommit)

1. Select 

2. Insert 

3. Update 

4. Delete 

5. Merge   


* Under DDL:-(Allows Autocommit)

1. Create

2. Alter 

3. Drop 

4. Truncate 

5. Flashback


* Under DCL:-(Allows Autocommit)

1. Grant 

2. Revoke 


* Under TCL:-(No Autocommit)

1. Commit

2. Rollback

3. Save point


  • From above, we can see that DDL and DCL "Allows Autocommit". Which means that the Transaction is COMMITED and whatsoever the updates are done on any of the rows will now be saved.
  • But DML and TCL  takes "No Autocommit". That means once we logout of the session and then login again we no longer have the updated rows.

* The question here arises is What is Transaction?

==> Transaction is nothing but a logical unit of work done by comprising one or more queries on one or more Objects.


Moving further, there are many Objects in the database but primarily talking about a few are:-

1) Table

2) View

3) Index

4) Sequence

5) Synonym


* Now that we have come this far, lets try to retrieve data from the database. 

Please note: I'm using Oracle database 19c here. 


* We will be retrieving data from 2 tables namely: EMP and DEPT.

(zoom-in or click on the images to get a better view)



  • As we can see the first query: "select * from emp;" is the syntax or query to retrieve rows from a table.  
  • And "select * from dept;" is the syntax or query to retrieve rows from second table. 
  • The output of first query is 14 rows while the output of the second query is 4 rows.

* We can  describe the contents of the table by a command "describe emp" and "describe dept".




  • We can also write "desc emp", it is a short-hand for "describe emp".
  •  We can see the EMP table has 8 columns and the DEPT table has 3 columns. 
  • "NOT NULL"  which we see here is the constraint and then further we have the datatypes of each column as NUMBER, VARCHAR and DATE. (which we will see later on)
(But for now we will be writing queries for retrieving a desired data on the sample based questions.)
 
* SQL is not Case-sensitive

Quora link: pratikbawanesspace

Comments

Popular posts from this blog

Machine Learning model for predicting 'Salary' of an Employee based on 'YearsofExperience'

“ Data really powers everything that we do .” — Jeff Weiner In the 21st century, Data is one of the most valuable entity anyone can have! There is loads-and-loads of data generated everyday. And to process this huge amount of data we need people who have expertise in it, who by the way are called as Data Engineers. Data Engineer collects the raw data, process it for further use; but we need an Analytic process which will automatically predict the data based on the previous one. And here's how 'Machine Learning' comes into the picture. "Machine Learning allows us to make highly accurate predictions based on the Historical Dataset which is used to train the machine learning model." Today let us look at a similar ML model to predict the 'Salary' of Employees based on 'YearsofExperience'. (P.S: I've provided pdf link at the very bottom of this page for clear understanding) 1) import the required modules 2) read the csv file 3) plot the graph 4) us...

Slicing in Python

  * Let's first understand how a slicing is been done-- Consider a string namely==>> string = 'python_developer!' If we print this then-- #  Output: python_developer! >> Now lets do some slicing here-- print (string[0:17:2]) >> Then the-- # Output: pto_eeoe! >> Lets see how it works-- So basically the print statement is in the form of  print(string[a:b:c]) >>  Now here   --           a: Starting position b: Ending position c: Steps taken >> If we take out length of the given string then-- print (len(string)) # Output: 17 * The total length of the given string is 17. Therefore in our given problem the string will be printed from 0 index to 16 index and would take 2 steps. >> Hence the output-- # Output: pto_eeoe! >> Now the print statement that we have used here is-- print (string[0:17:2]) >> We can also use-- print (string[:17:2]) >> It will give the same output-- ...