Edward
Edward

Reputation: 9778

Does import of a .sql file to MySQL overwrite the existing db or append to it?

In some cases, I've had to do a mysqldump to produce a .sql file. After making some changes to the MySQL database for testing and development I want to restore it to the way it was before. So I import the .sql file. In the past I have delete the db and re-created it, and then did te import. Is that necessary? Does import from a .sql file overwrite and totally re-create the database and it's tables, or does it append to it? Thanks!

Upvotes: 33

Views: 45134

Answers (2)

Jon
Jon

Reputation: 437534

It depends on what commands the SQL file contains. Commands of interest are:

DROP DATABASE xxx;            # will delete the whole database
DROP TABLE xxx;               # unconditionally deletes a table
CREATE TABLE [IF NOT EXISTS]  # if IF NOT EXISTS adds the table, does nothing if exists
                              # otherwise, it adds the table, gives an error if it exists

Upvotes: 25

L0j1k
L0j1k

Reputation: 12645

Appends to it, unless the import file specifically treats tables differently.

Upvotes: 25

Related Questions