
def my_p_table(): #
query="CREATE TABLE IF NOT EXISTS `plus2_products` ( \
`p_id` int(3) NOT NULL AUTO_INCREMENT,\
`p_name` varchar(100) NOT NULL,\
`unit` varchar(20) NOT NULL,\
`price` float(8,2) NOT NULL,\
`p_cat` int(1) NOT NULL,\
`available` int(1) NOT NULL DEFAULT '1',\
PRIMARY KEY (`p_id`)\
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 "
try:
rs=my_conn.execute(query) # run query to create table
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
msg_display=error
show_msg(msg_display,'error') # send error message
else:
msg_display="Product Table is Created "
show_msg(msg_display,'normal')# success message
product_data=[(1, 'Item-1-BF', 'Number', 20.00, 1, 1),
(2, 'Item-2-BF', 'Number', 30.00, 1, 1),
(3, 'Item-3-BF', 'Number', 30.40, 1, 1),
----
----
(23, 'Item-23-Dinner', 'Plate', 120.00, 3, 1),
(24, 'Item-24-Dinner', 'Plate', 180.00, 3, 1)]
This data is collected in our main file install-p-table-data.py and inserted to table by using query.
def my_p_data():
from product_data import product_data
query="INSERT INTO `plus2_products`\
(`p_id`, `p_name`, `unit`, `price`, `p_cat`, `available`) \
VALUES (%s,%s,%s,%s,%s,%s)"
try:
rs=my_conn.execute(query,product_data)
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
msg_display=error
show_msg(msg_display,'error')
else:
msg_display="Number of rows added :" + str(rs.rowcount)
show_msg(msg_display,'normal')
Number of records inserted to the table is displayed by using rowcount
def delete_recs():
#query="TRUNCATE table plus2_products"
query="DELETE FROM plus2_products"
try:
rs=my_conn.execute(query)
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
msg_display=error
show_msg(msg_display,'error')
else:
msg_display="Number of records removed :" + str(rs.rowcount)
show_msg(msg_display,'normal')
def delete_table():
query="DROP TABLE plus2_products"
try:
rs=my_conn.execute(query)
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
msg_display=error
show_msg(msg_display,'error')
else:
msg_display="product table deleted "
show_msg(msg_display,'normal')
All the above functions we trigger by using different buttons. In all functions we call the message function show_msg() with parameters to display error or sucess messages to user.
def show_msg(msg_display,type): # to show message to user
if(type=='normal'):
l1.config(text=msg_display,fg='green')
else:
l1.config(text=msg_display,fg='red')
my_w.after(3000,lambda:l1.config(text=''))
install-p-table-data.pyfrom sqlalchemy import create_engine
my_conn = create_engine("mysql+mysqldb://root:pw@localhost/db_name")
product_data.py
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.