In this article, we will discuss how we can show all columns of a table in the SQLite database from Python using the sqlite3 module.
Approach:
- Connect to a database using the connect() method.
- Create a cursor object and use that cursor object created to execute queries in order to create a table and insert values into it.
- Use the description keyword of the cursor object to get the column names. The description keyword specifies only the columns of a table in a two-dimensional tuple consisting of none values and the column names only.
data=cursor.execute('''SELECT * FROM table_name''') print(data.description)
The above code displays all the columns of a given table in a two-dimensional tuple.
- Display the data in the table by executing the below query using the cursor object.
SELECT * FROM table_name
- Finally, commit the changes in the database and close the connection.
Below is the Implementation:
Creating the table
In the below program we connect to a database named gfg.db, then we create an EMPLOYEE table and insert values into it. Finally, we commit the changes in the database and terminate the connection.
# Import module import sqlite3
# Connecting to sqlite conn = sqlite3.connect( 'gfg1.db' )
# Creating a cursor object using the cursor() method cursor = conn.cursor()
# Creating table table = """CREATE TABLE EMPLOYEE(FIRST_NAME VARCHAR(255),
LAST_NAME VARCHAR(255),
AGE int,
SEX CHAR(1),
INCOME int);"""
cursor.execute(table) print ( 'Table Created!' )
# Queries to INSERT records. cursor.execute( '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Anand', 'Choubey', 25, 'M', 10000)''' )
cursor.execute( '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mukesh', 'Sharma', 20, 'M', 9000)''' )
cursor.execute( '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Ankit', 'Pandey', 24, 'M', 6300)''' )
cursor.execute( '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Subhdra ', 'Singh', 26, 'F', 8000)''' )
cursor.execute( '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Tanu', 'Mishra', 24, 'F', 6500)''' )
print ( 'Data inserted into the table' )
# Commit your changes in the database conn.commit() # Closing the connection conn.close() |
Output:
Table Created! Data inserted into the table
Retrieving columns from the table:
Now as we have already created a table and inserted values into the table in a database. We will connect to the previous database where the EMPLOYEE table is created. Then we will first display all the columns and then the data values in the column.
# Import module import sqlite3
# Connecting to sqlite conn = sqlite3.connect( 'gfg.db' )
# Creating a cursor object using the cursor() method cursor = conn.cursor()
# Display columns print ( '\nColumns in EMPLOYEE table:' )
data = cursor.execute( '''SELECT * FROM EMPLOYEE''' )
for column in data.description:
print (column[ 0 ])
# Display data print ( '\nData in EMPLOYEE table:' )
data = cursor.execute( '''SELECT * FROM EMPLOYEE''' )
for row in data:
print (row)
# Commit your changes in the database conn.commit() # Closing the connection conn.close() |
Output:
SQLite: