9.8 LAB - Database programming with Python (SQLite) Complete the Python program to create a Horse table, insert one row, and display the row. The main program calls four functions: 1. create_connection () creates a connection to the database. 2. create_table() creates the Horse table. 3. insert_horse() inserts one row into Horse. 4. select_all_horses () outputs all Horse rows. Complete all four functions. Function parameters are described in the template. Do not modify the main program. The Horse table should have five columns, with the following names, data types, constraints, and values: The program output should be: Name ld Name Breed Data type integer text text double Height BirthDate text Constraints primary key, not null 1 All horses: (1, 'Babe', 'Quarter Horse', 15.3, '2015-02-10') Value 'Babe' 'Quarter horse' 15.3 '2015-02-10' This lab uses the SQLite database rather than MySQL. The Python API for SQLite is similar to MySQL Connector/Python. Consequently, the API is as described in the text, with a few exceptions: • Use the import library provided in the program template. • Create a connection object with the function sqlite3.connect(": memory:"). • Use the character ? instead of %s as a placeholder for query parameters. • Use data type text instead of char and varchar.
import sqlite3
from sqlite3 import Error
# Creates connection to sqlite in-memory
def create_connection():
"""
Create a connection to in-memory database
:return: Connection object
"""
try:
conn = sqlite3.connect(":memory:")
return conn
except Error as e:
print(e)
# YOUR CODE HERE
# Use sqlite3.connect(":memory:") to create connection object
return conn
# query to create the table
table_sql = """
CREATE TABLE Horses (
id integer PRIMARY KEY NOT NULL,
name text,
breed text,
height real,
birthday text
);
"""
# query to insert data into the table
ins_sql = """INSERT INTO Horses VALUES(1,'Babe','Quarter Horse',15.3,'2015-02-10'); """
# query to fetch all data from the table
fetch_sql = """SELECT * FROM Horses;"""
# creating db connection
conn = create_connection()
# fetching a cursor from the connection
c = conn.cursor()
# executing statement to create table
c.execute(table_sql)
# executing statement to insert data into the table
c.execute(ins_sql)
# executing statement to fetch data from the table
c.execute(fetch_sql)
# fetching rows retrieved by last query
rows = c.fetchall()
print("All horses:")
# looping and printing each row returned.
for row in rows:
print(row)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images