w3resource

Python: Create a table and insert some records in that table

Python SQLite Database: Exercise-5 with Solution

Write a Python program to create a table and insert some records in that table. Finally selects all rows from the table and display the records.

Sample Solution:

Python Code :

import sqlite3
 
from sqlite3 import Error
 
def sql_connection():
   try:
     conn = sqlite3.connect('mydatabase.db')
     return conn
   except Error:
     print(Error)
 
def sql_table(conn):
   cursorObj = conn.cursor()
# Create the table
   cursorObj.execute("CREATE TABLE salesman(salesman_id n(5), name char(30), city char(35), commission decimal(7,2));")
# Insert records
   cursorObj.executescript("""
   INSERT INTO salesman VALUES(5001,'James Hoog', 'New York', 0.15);
   INSERT INTO salesman VALUES(5002,'Nail Knite', 'Paris', 0.25);
   INSERT INTO salesman VALUES(5003,'Pit Alex', 'London', 0.15);
   INSERT INTO salesman VALUES(5004,'Mc Lyon', 'Paris', 0.35);
   INSERT INTO salesman VALUES(5005,'Paul Adam', 'Rome', 0.45);
   """)
   conn.commit()
   cursorObj.execute("SELECT * FROM salesman")
   rows = cursorObj.fetchall()
   print("Agent details:")
   for row in rows:
       print(row)
sqllite_conn = sql_connection()
sql_table(sqllite_conn)
if (sqllite_conn):
 sqllite_conn.close()
 print("\nThe SQLite connection is closed.")

Sample Output:

Agent details:
(5001, 'James Hoog', 'New York', 0.15)
(5002, 'Nail Knite', 'Paris', 0.25)
(5003, 'Pit Alex', 'London', 0.15)
(5004, 'Mc Lyon', 'Paris', 0.35)
(5005, 'Paul Adam', 'Rome', 0.45)

The SQLite connection is closed.

Alternate solution:

Python Code :

import  sqlite3
conn  =  sqlite3 . connect ( 'mydatabase.db' )
cursor  =  conn . cursor ()
#create the salesman table 
cursor.execute("CREATE TABLE salesman(salesman_id n(5), name char(30), city char(35), commission decimal(7,2));")

# inserting data into the table
cursor . execute ( """
INSERT INTO salesman(salesman_id,'name', 'city',commission)
VALUES(5001,'James Hoog', 'New York', 0.15)
""")
cursor . execute ( """
INSERT INTO salesman(salesman_id,'name', 'city',commission)
VALUES(5002,'Nail Knite', 'Paris', 0.25)
""")
cursor . execute ( """
INSERT INTO salesman(salesman_id,'name', 'city',commission)
VALUES(5003,'Pit Alex', 'London', 0.15)
""")
cursor . execute ( """
INSERT INTO salesman(salesman_id,'name', 'city',commission)
VALUES(5004,'Mc Lyon', 'Paris', 0.35)
""")
conn.commit ()
print ( 'Data entered successfully.' )
conn . close ()

if (conn):
  conn.close()
  print("\nThe SQLite connection is closed.")

Sample Output:

Data entered successfully.

The SQLite connection is closed.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to list the tables of given SQLite database file.
Next: Write a Python program to insert a list of records into a given SQLite table.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

How to make a chain of function decorators?

from functools import wraps

def makebold(fn):
    @wraps(fn)
    def wrapped(*args, **kwargs):
        return "<b>" + fn(*args, **kwargs) + "</b>"
    return wrapped

def makeitalic(fn):
    @wraps(fn)
    def wrapped(*args, **kwargs):
        return "<i>" + fn(*args, **kwargs) + "</i>"
    return wrapped

@makebold
@makeitalic
def hello():
    return "hello world"

@makebold
@makeitalic
def log(s):
    return s

print hello()        # returns "<b><i>hello world</i></b>"
print hello.__name__ # with functools.wraps() this returns "hello"
print log('hello')   # returns "<b><i>hello</i></b>"

Ref: https://bit.ly/3cVz5iw