top of page
learn_data_science.jpg

Data Scientist Program

 

Free Online Data Science Training for Complete Beginners.
 


No prior coding knowledge required!

Writer's pictureIbrahim Rustemov

How to use Sqlite3 using Python

Much of the work of data scientists is related to data. And in some cases (especially for bank employees) we have to pull the data from the database.

Most database programs require you to install a complex program on your local machine or on a server that you can access, which can cause some problems. Popular database programs include Microsoft SQL Server and MySQL.

For the purposes of this article, we will focus on a very simple database program known as SQLite. The reason for choosing SQLite is because it is a file-based database system that uses Python. There is no need for any configuration or additional installation. This allows us to focus on the basics of what a database is and how it works, while also eliminating the risk of loss in installation and setup details.


In this article we will learn about:

○ Creating an SQLite Database

○ Adding data to our Database

○ Searching over our Database and showing it on console

○ Editing data in our Database

○ Deleting selected data from our Database


Creating an Sqlite Database

SQLlite supports this type of data: NULL, INTEGER, REAL, TEXT, BLOB. We can store data in databases for these data types.


Now it is time to create a Database! Let's see a code snippet for better understanding.

First we import SQLite library. After that we connect to a database file which we defined or sqlite3 module will create new empty database if it does not exist. Once the database file is created we need to define a TABLE to work with in the database. Let's see a code snipped of creating a TABLE.


In SQLite it doesn't matter if the code is uppercase or lowercase, CREATE == Create == create. However, in order to easily separate the text from the code, we will write the code with uppercase, and the text with Mixed- or lower-case.

CREATE TABLE command will create a table using the specified name.

Via cursor we send SQL commands to our database, using its execute function. And in the execute function we define our column names of database and its data types.

After creating the table in our database, it will look as shown in the figure above. Now, as we see our column inputs are empty we have to insert values to these. We use INSERT to add information to the database, corresponding to the INSERT command in SQL. Let's see a code snippet for this.



Again we use execute() function and call INSERT INTO and pass 4 values into it. To save the inputs which we made, we need to call commit() method to apply changes.


In some cases we need to add data to the database as input. Let's imagine that we are given a database but we want to add some variables to this.

As you can see, we've added an input using tuple and we will see that we get information as tuple data structure. This is done because we cant change tuples.

Select Operation

Our main aim is to extract data from databases. To do this we use the SELECT method.


To get all records from table we use the following command: SELECT * FROM table_name. This means that we want to get all data from the Table. To get list of variables we define cursor.fetchall(). Additionally, we can use fetchone() and fetchmany() to get just one row and selected number of rows, respectively from the database. Then we loop over the list (arr) to get:


 Name: Rustamov

        Job: Data Engineer

        Salary: 100000

        Adress: Baku
______________________________

        Name: Qedirli

        Job: Software Developer

        Salary: 30000

        Adress: Ganja
______________________________

        Name: Aliyev

        Job: CEO

        Salary: 1000000

        Adress: Shusha
______________________________

        Name: Huseynov

        Job: IT Manager

        Salary: 50000

        Adress: Baku 

Sometimes we want to get data with some conditions. For example,

Let's suppose that we want just Rustamov's information. To do this, we need the WHERE method.


  Name: Rustamov

        Job: Data Engineer

        Salary: 500000

        Adress: Baku


______________________________

We could also be interested in just a few number of features from our database. In this case, we will use the name of the columns (features) instead of * (all).


And we get:

        Name: Rustamov
        Salary: 100000
______________________________

        Name: Qedirli

        Salary: 30000
______________________________

        Name: Aliyev

        Salary: 1000000
______________________________

        Name: Huseynov

        Salary: 50000
______________________________


Updating Table in Databases

Sometimes we need to update some information in a database.

For updating Table we need 2 SQL commands.

○ UPDATE

○ SET

We use UPDATE for updating a specific table.

We use SET for updating specific field in table.


In the example above we can see that we updated INFO table and we set Rustamov's Salary to 500000. Again for saving changes we use con.commit().

From the above figure, we have successfully changed Rustamov's Salary.


Deleting Item from Databases

Sometimes data must be removed from a database. To do this we use DELETE method.


DELETE method is similar to UPDATE in terms of usage. We define DELETE with table name and condition which we want to delete variables. In the end we write con.commit() to save changes.


Converting Database Table to Pandas DataFrame

We create tables, insert, update, and delete informations from the table in in a database. Now what if we need selected items in a DataFrame? Let's see how to do this.


We pass a list into Pandas DataFrame and define column names.

And we get:



Conclusion

There may be more to do with databases. In this blog, we have acquired basic knowledge. As Data Scientists, we will always need to get data from databases. Therefore, SQLite is an important knowledge for us. If you want to see the full code, you can check here.

0 comments

Recent Posts

See All

Comments


bottom of page