w3resource

Python: Insert a list of records into a given SQLite table

Python SQLite Database: Exercise-6 with Solution

Write a Python program to insert a list of records into a given SQLite table.

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, rows):
    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));")
    sqlite_insert_query = """INSERT INTO salesman
                          (salesman_id, name, city, commission) 
                          VALUES (?, ?, ?, ?);"""    
    cursorObj.executemany(sqlite_insert_query, rows)
    conn.commit()      
    print("Number of records after inserting rows:")
    cursor = cursorObj.execute('select * from salesman;')
    print(len(cursor.fetchall()))
  
# Insert records
rows = [(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)]
                   
sqllite_conn = sql_connection() 
sql_table(sqllite_conn, rows)
    
if (sqllite_conn):
  sqllite_conn.close()
  print("\nThe SQLite connection is closed.")

Sample Output:

Number of records after inserting rows:
5

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));")
# Insert records
rows = [(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)]
                   
cursor . executemany ( """
INSERT INTO salesman (salesman_id, name, city, commission)
VALUES (?,?,?,?)
""" , rows )
print ( 'Data entered successfully.' )
conn.commit ()
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 create a table and insert some records in that table. Finally selects all rows from the table and display the records.
Next: Write a Python program to insert values to a table from user input.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz


Python: Tips of the Day

Creates a dictionary with the same keys as the provided dictionary and values generated by running the provided function for each value:

Example:

def tips_map_values(obj, fn):
  ret = {}
  for key in obj.keys():
    ret[key] = fn(obj[key])
  return ret
users = {
  'Owen': { 'user': 'Owen', 'age': 29 },
  'Eddie': { 'user': 'Eddie', 'age': 15 }
}

print(tips_map_values(users, lambda u : u['age'])) # {'Owen': 29, 'Eddie': 15}

Output:

{'Owen': 29, 'Eddie': 15}