Skip to main content

Figuring out Postgres Part 2(Adding data)

 My database is set up. My table is set up. Now it's time to add some data. There are 2 main ways we can do it - add data from an external file, or add data with Python. 

Adding data from an external file

A colleague of mine introduced me to a website - Kaggle. You can download datasets in a few different formats from this site which is pretty amazing! I found one for cat breed characteristics. I don't put much stock in breeds and that sort of thing, but I thought it would be a nice data set to use.



The table I created previously wasn't exactly a good match for this data so I created a new table. One that was specifically for domestic cats and not all cats, big and small. 

In SQL Shell(psql)

Using the copy command in the screenshot below, I copied data from the csv file to my domestic_cats table.

Printing a simple query in my Python file revealed that the data was actually copied. It was pretty exciting to see it all there. 

Data printed to the terminal

Input data with Python

Back in my Python file I inserted a new entry into the table and printed it to the terminal by querying that entry using it's primary key, BREED_NAME. 



There are of course several different ways you can execute both options. You could insert data from a csv file into the database using code rather than shell commands. You could ask for user input instead of hardcoding data insertions into the table each time. But to me, those are essentially just variations of adding data from a file and adding data using code. 






Comments

Popular posts from this blog

So long and thanks for all the fish! Part 1 of 2

I have been with the Tech Academy both as a software developer bootcamp student, as well as an employee. After my bootcamp, I was hired first as the live project instructor, and then as Live Project Director. This, I believe, gives me a unique point of view. I have absolutely no regrets and would join the bootcamp again. But there are a number of things I would do differently. What I have learnt as a former student 1. DO NOT WORK PART TIME.   I worked part-time(20-30hrs) during my bootcamp. I was up at 2.30-3.00am every day to work for several hours. I took a short nap, and then I took a 1hr bus ride down to campus. Studied for 7- 9 hours. Took a 1hr bus ride back home. Lather, rinse, repeat. I also had some family obligations. My weekends and half the summer were taken up caring for my young stepdaughter. I was completely exhausted by the end of the bootcamp and I didn't know if I could do more. Learning to program is HARD. You need to be fully focused. I am fortunate because I di...

Inserting data from CSV into Postgres table with Python

I've been looking into how to insert data from a CSV file into a Postgres Table with code. Turns out it's pretty simple and straightforward. I personally prefer doing it in code than with a command, but I'm not sure what is more common in the industry.  So now I should be able to load data from a CSV file into a Postgres table to create a REST API. The next step is trying to figure out how to convert that data into JSON format. 🤔

Figuring out Postgres Part 1(Setting it up)

 I've been meaning how to use Postgres for a while now and I've finally decided to dive into it. First step, installing Postgres from their website . I kept all the default settings which meant it installed PostgreSQL Server, pgAdmin4, Stack Builder, and Command Line Tools. It later prompted me to set up Stack Builder, but I took a look at this tutorial  and determined that I don't really need to do that right now. It also helped me figure out how to verify the installation using SQL Shell(psql). Everything looks good so far. I followed another tutorial on Linkedin learning to create a database. Next on the tutorial, create a virtual environment and install Psycopg2-binary in it. Apparently it's a Postgres database adapter.  And because I'm an idiot, I forgot where I saved the database. I opened up Postgres shell and used the command SHOW data_directory; But it turns out I didn't need it anyway 😁 I created a new Python file and added the following lines of cod...