471,310 Members | 1,460 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,310 software developers and data experts.

updating db with csv

#1 If any one familiar with godaddy hosting. They have apparently have
a hosing server i.e.(scripts, html files etc.), and a server for
databases. How can I import from my script, with a csv. if the db is
on a different server than the script server.

#2 I would like to update and insert with the same csv file. Is there
a way to tell the database for some lines to update, and for some
lines to insert.

Jun 7 '07 #1
4 1411
mo**********@gmail.com wrote:
>
#1 If any one familiar with godaddy hosting. They have apparently have
a hosing server i.e.(scripts, html files etc.), and a server for
databases. How can I import from my script, with a csv. if the db is
on a different server than the script server.
What does this have to do with either Python or MySQL?

When you connect to the database, you have to specify a hostname. As long
as you provide the right one, it doesn't matter where your script runs.
>#2 I would like to update and insert with the same csv file. Is there
a way to tell the database for some lines to update, and for some
lines to insert.
Not in standard SQL. MySQL supports a REPLACE extension that does an
UPDATE if the key already exists, and an INSERT if it does not. There is
also an extension clause to the INSERT statement called "ON DUPLICATE KEY
UPDATE xxx" that might do what you want.
--
Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Jun 11 '07 #2
On 11 Jun, 07:37, Tim Roberts <t...@probo.comwrote:
| Not in standard SQL. MySQL supports a REPLACE extension that does
an
| UPDATE if the key already exists, and an INSERT if it does not.
There is
| also an extension clause to the INSERT statement called "ON
DUPLICATE KEY
| UPDATE xxx" that might do what you want.
| --
| Tim Roberts, t...@probo.com
| Providenza & Boekelheide, Inc.

No Tim, that is not correct. the REPLACE extension does not do an
update, it does a replace. It delets the old record and inserts a new
one. The INSERT...ON DUPLICATE KEY UPDATE... does an update. So a
REPLACE will remove all existing field values not referenced in the
statement, whilst an INSERT...ON DUPLICATE KEY UPDATE... will preserve
them. Also REPLACE will make a TIMESTAMP column which has a DEFAULT
CURRENT_TIMESTAMP setting work like one which has ON UPDATE
CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP setting.

Jun 11 '07 #3
Captain Paralytic <pa**********@yahoo.comwrote:
>On 11 Jun, 07:37, Tim Roberts <t...@probo.comwrote:
| Not in standard SQL. MySQL supports a REPLACE extension that does
| an UPDATE if the key already exists, and an INSERT if it does not.
| There is also an extension clause to the INSERT statement called
| "ON DUPLICATE KEY UPDATE xxx" that might do what you want.

No Tim, that is not correct. the REPLACE extension does not do an
update, it does a replace. It delets the old record and inserts a new
one. The INSERT...ON DUPLICATE KEY UPDATE... does an update. So a
REPLACE will remove all existing field values not referenced in the
statement, whilst an INSERT...ON DUPLICATE KEY UPDATE... will preserve
them. Also REPLACE will make a TIMESTAMP column which has a DEFAULT
CURRENT_TIMESTAMP setting work like one which has ON UPDATE
CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP setting.
Thanks for the correction; that's an important difference. I'm a Postgres
guy; if I had noticed this was cross-posted to c.d.mysql as well as
comp.lang.python, I probably would have kept quiet.
--
Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Jun 13 '07 #4
On 13 Jun, 06:35, Tim Roberts <t...@probo.comwrote:
Captain Paralytic <paul_laut...@yahoo.comwrote:
On 11 Jun, 07:37, Tim Roberts <t...@probo.comwrote:
| Not in standard SQL. MySQL supports a REPLACE extension that does
| an UPDATE if the key already exists, and an INSERT if it does not.
| There is also an extension clause to the INSERT statement called
| "ON DUPLICATE KEY UPDATE xxx" that might do what you want.
No Tim, that is not correct. the REPLACE extension does not do an
update, it does a replace. It delets the old record and inserts a new
one. The INSERT...ON DUPLICATE KEY UPDATE... does an update. So a
REPLACE will remove all existing field values not referenced in the
statement, whilst an INSERT...ON DUPLICATE KEY UPDATE... will preserve
them. Also REPLACE will make a TIMESTAMP column which has a DEFAULT
CURRENT_TIMESTAMP setting work like one which has ON UPDATE
CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP setting.

Thanks for the correction; that's an important difference. I'm a Postgres
guy; if I had noticed this was cross-posted to c.d.mysql as well as
comp.lang.python, I probably would have kept quiet.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
But then you wouldn't have learned about this important difference. I
too learn a lot when I give what I think is a correct answer and then
have someone else explain what really happens.

The wonder of usenet.

Jun 13 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

11 posts views Thread by Jason | last post: by
reply views Thread by cwbp17 | last post: by
14 posts views Thread by el_sid | last post: by
6 posts views Thread by muttu2244 | last post: by
reply views Thread by =?Utf-8?B?YmFrZXJzaGFjaw==?= | last post: by
reply views Thread by rosydwin | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.