1
+ '''
2
+ Created on Aug 9, 2017
3
+
4
+ @author: Aditya
5
+
6
+ This file gives the demonstration of 4 basic and most important function of database
7
+ CRUD :: Create - Retrieve - Update - Delete
8
+ '''
9
+
10
+ import sqlite3 # import python database lib
11
+
12
+ def insert (db , row ): # function to insert rows in database
13
+ # db - database object
14
+ # row - row to be inserted in the database
15
+ db .execute ('insert into test (t1, i1) values (?, ?)' , (row ['t1' ], row ['i1' ])) # insert row into the database
16
+ db .commit ()
17
+
18
+
19
+ def display_rows (db ): # function to display rows from database
20
+ # db - database object
21
+ cursor = db .execute ('select * from test order by t1' )
22
+ for row in cursor :
23
+ print ('{}:{}' .format (row ['t1' ],row ['i1' ]))
24
+
25
+ def retrieve_row (db , key ): # to retrieve data from database
26
+ cursor = db .execute ('select * from test where t1 = ?' , (key ,)) # note that argument is passed as single element tuple
27
+ return cursor .fetchone () # fetch one data from database
28
+
29
+ def update_row (db , row ): # to update row in database
30
+ db .execute ('update test set i1 = ? where t1 = ?' , (row ['i1' ], row ['t1' ]))
31
+ db .commit ()
32
+
33
+ def delete_row (db , key ): # to delete row from database
34
+ db .execute ('delete from test where t1 = ?' , (key ,))
35
+ db .commit ()
36
+
37
+ def main ():
38
+ print ('Note: Call commit() on database after doing any change in it.' )
39
+ db = sqlite3 .connect ('TestDB.db' ) # creating and connecting to test database
40
+ db .row_factory = sqlite3 .Row
41
+
42
+ print ('Create a table named \' test\' in the database' )
43
+ db .execute ('drop table if exists test' )
44
+ db .execute ('create table test (t1 text, i1 int)' )
45
+
46
+ print ('Create Rows' )
47
+ insert (db , dict (t1 = 'one' , i1 = '1' )) # insert table rows in database in dictionary form
48
+ insert (db , dict (t1 = 'two' , i1 = '2' ))
49
+ insert (db , dict (t1 = 'three' , i1 = '3' ))
50
+ insert (db , dict (t1 = 'four' , i1 = '4' ))
51
+ insert (db , dict (t1 = 'five' , i1 = '5' ))
52
+ insert (db , dict (t1 = 'six' , i1 = '6' ))
53
+ insert (db , dict (t1 = 'seven' , i1 = '7' ))
54
+ display_rows (db )
55
+
56
+ print ('Retrieve data from database' )
57
+ print (dict (retrieve_row (db , 'one' )), dict (retrieve_row (db , 'two' )))
58
+
59
+ print ('Update row in database' )
60
+ update_row (db , dict (t1 = 'one' , i1 = 101 ))
61
+ update_row (db , dict (t1 = 'two' , i1 = 102 ))
62
+ display_rows (db )
63
+
64
+ print ('Delete rows' )
65
+ delete_row (db , 'one' )
66
+ delete_row (db , 'two' )
67
+ display_rows (db )
68
+
69
+ if __name__ == '__main__' :main ()
0 commit comments