Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4f9e626

Browse files
Add demo for python database functions
Major database functions included: CRUD - Create, Retrieve, Update, Delete
1 parent a64558e commit 4f9e626

File tree

4 files changed

+94
-0
lines changed

4 files changed

+94
-0
lines changed

‎DatabaseDemo/src/demo.db

-8 KB
Binary file not shown.

‎DatabaseDemo_crud/.project

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>DatabaseDemo_crud</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.python.pydev.PyDevBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.python.pydev.pythonNature</nature>
16+
</natures>
17+
</projectDescription>

‎DatabaseDemo_crud/.pydevproject

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<?eclipse-pydev version="1.0"?><pydev_project>
3+
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
4+
<path>/${PROJECT_DIR_NAME}/src</path>
5+
</pydev_pathproperty>
6+
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
7+
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 3.6</pydev_property>
8+
</pydev_project>

‎DatabaseDemo_crud/src/database_crud.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /