将.sql文件导入MySQL是否会覆盖现有数据库或附加到它?

Edw*_*ard 27 mysql

在某些情况下,我不得不做一个mysqldump来生成一个.sql文件.在对MySQL数据库进行一些更改以进行测试和开发之后,我希望将其恢复到以前的状态.所以我导入.sql文件.在过去,我删除了数据库并重新创建了它,然后进行了导入.这有必要吗?从.sql文件导入是否会覆盖并完全重新创建数据库及其表,还是附加到它?谢谢!

L0j*_*j1k 21

附加到它,除非导入文件专门以不同方式处理表.


Jon*_*Jon 17

它取决于SQL文件包含的命令.感兴趣的命令是:

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
Run Code Online (Sandbox Code Playgroud)