w3resource

Python: Count the number of rows of a given SQLite table

Python SQLite Database: Exercise-8 with Solution

Write a Python program to count the number of rows of 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):
    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));")
    print("Number of records before inserting rows:")
    cursor = cursorObj.execute('select * from salesman;')
    print(len(cursor.fetchall()))
# 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()
    print("\nNumber of records after inserting rows:")
    cursor = cursorObj.execute('select * from salesman;')
    print(len(cursor.fetchall()))
    
sqllite_conn = sql_connection()
sql_table(sqllite_conn)

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

Sample Output:

Number of records before inserting rows:
0

Number of records after inserting rows:
5

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 insert values to a table from user input.
Next: Write a Python program to update a specific column value of a given table and select all rows before and after updating the said table.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.