dtluther
dtluther

Reputation: 115

How to add a new column (Python list) to a Postgresql table?

I have a Python list newcol that I want to add to an existing Postgresql table. I have used the following code:

conn = psycopg2.connect(host='***', database='***', user='***', password='***')
cur = conn.cursor()
cur.execute('ALTER TABLE %s ADD COLUMN %s text' % ('mytable', 'newcol'))
conn.commit()

This added the list newcol to my table, however the new column has no values in it. In python, when I print the the list in python, it is a populated list.

Also, the number of rows in the table and in the list I want to add are the same. I'm a little confused.

Thanks in advance for the help.

Upvotes: 3

Views: 8031

Answers (1)

Anant Bhardwaj
Anant Bhardwaj

Reputation: 121

ALTER TABLE only changes table schema -- in your case it will create the new column and initialize it with empty (NULL) values.

To add list of values to this column you can do: UPDATE TABLE <table> SET ... in a loop.

Upvotes: 2

Related Questions