Thursday, August 13, 2015

Database Programming Python Tutorial, Creating a Table and Inserting Values in It with Python

In python programming the module named sqlite3 or _MySQL can be used to database operations(Along with many others). The basic principal of writing database program is same for more or less every database in python. You have to create a way to communicate with the database and then execute the SQL queries through python. Lets see it by an example - 

import sqlite3 as db
conn = db.connect('test1.db')
cur=conn.cursor()

cur.execute('drop table if exists Employee-info')
cur.execute("CREATE TABLE
Employee-info (uniqueid integer primary key AUTOINCREMENT,name TEXT,dept TEXT, address TEXT,profession TEXT,status TEXT DEFAULT 'Single');")

conn.commit()

The above code imported the sqlite3 module and renamed it as db.We have made a connection to the database with the name test1.db, if it is not present there the said line will create one db in the current working directory. (If you don't know how to find current working directory then see here.)

Now , the next line created a cursor for the connected database. You can say the cursor is the way of operating different commands to the database in SQL mode. In the next line you can see the cur.execute() statement executes a SQL command to the database. It simply find a previous table named Employee_Info and deletes it, so that we can create a table with the same name.

In the next line we created table with required value, Again I have used SQL command within the cur.execute() to create the table. The table is created with primary key uniqueid which will be automatically incremented every time when a new entry to the database will occur.

Now as we have a basic understanding of creating the database and a table, lets try to insert some value in it. Do you know what is the basic command in SQL for inserting values into database ?
 It is - 
INSERT INTO Employee_info  VALUES ('name','dept','address',...);  
In python we can do the same by using the cur.execute again but with certain modifications. For this example lets do it the following way, there are more way which I will discuss later - 
rowdata=('Dhruba','IT','DNK','IT','S')
cur.execute('insert into troublebook(name,dept,address,profession,status)\ values(?,?,?,?,?,?)',rowdata)  
conn.commit()
This will insert values in the database. The rowdata contains all the needed values, so the program will run without a problem. We can executemany by implying cur.executmany() with rowdata holding more rows of values .

Please visit http://pythonbeginner.in for more topics.

No comments:

Post a Comment

Feautured Post

Python Trivia Post: enumerate()

Python has a very useful inbuilt function, which is called enumerate(). This is needed whenever you need the numbering of a certain element...