Import SQL file into mysql

前端 未结 18 1357
盖世英雄少女心
盖世英雄少女心 2020-11-28 00:16

I have a database called nitm. I haven\'t created any tables there. But I have a SQL file which contains all the necessary data for the database. The file is

相关标签:
18条回答
  • 2020-11-28 00:55

    For localhost on XAMPP. Open a cmd window and type

    cd C:\xampp\mysql\bin
    mysql.exe -u root -p
    

    Attention! No semi-colon after -p Enter your password and type

    use database_name;
    

    to select the database you need.

    Check if your table is there

    show tables;
    

    Import from your sql file

    source sqlfile.sql;
    

    I have put my file on C:\xampp\mysql\bin location in order to don't mix up with locations of sql file.

    0 讨论(0)
  • 2020-11-28 00:58

    From the mysql console:

    mysql> use DATABASE_NAME;

    mysql> source path/to/file.sql;


    make sure there is no slash before path if you are referring to a relative path... it took me a while to realize that! lol

    0 讨论(0)
  • 2020-11-28 00:58

    Does your dump contain features that are not supported in your version of MySQL? You can also try to remove the starting (and ending) MySQL commented SET-statements.

    I don't know if your dump comes from a Linux version of MySQL (line endings)?

    0 讨论(0)
  • 2020-11-28 00:59

    Ok so, I'm using Linux but I think this holds true for Windows too. You can do this either directly from the command prompt

    > mysql -u <user name> -p<password> <database name> < sqlfilename.sql
    

    Or from within the mysql prompt, you can use:

    mysql>source sqlfilename.sql
    

    But both these approaches have their own benefits in the results they display. In the first approach, the script exits as soon as it encounters an error. And the better part, is that it tells you the exact line number in the source file where the error occurred. However, it ONLY displays errors. If it didn't encounter any errors, the scripts displays NOTHING. Which can be a little unnerving. Because you're most often running a script with a whole pile of commands.

    Now second approach (from within the mysql prompt) has the benefit that it displays a message for every different MySQL command in the script. If it encounters errors, it displays the mysql error message but continues on through the scripts. This can be good, because you can then go back and fix all the errors before you run the script again. The downside is that it does NOT display the line numbers in the script where the errors were encountered. This can be a bit of a pain. But the error messages are as descriptive so you could probably figure out where the problem is.

    I, for one, prefer the directly-from-OS-command line approach.

    0 讨论(0)
  • 2020-11-28 01:04

    In Windows OS the following commands works for me.

    mysql>Use <DatabaseName>
    mysql>SOURCE C:/data/ScriptFile.sql;
    

    No single quotes or double quotes around file name. Path would contain '/' instead of '\'.

    0 讨论(0)
  • 2020-11-28 01:05

    Finally, i solved the problem. I placed the `nitm.sql` file in `bin` file of the `mysql` folder and used the following syntax.

    C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql
    

    And this worked.

    0 讨论(0)
提交回复
热议问题