将SQL文件导入mysql

kus*_*shi 184 mysql sql database windows import

我有一个名为的数据库nitm.我没有在那里创建任何表.但我有一个SQL文件,其中包含数据库的所有必要数据.该文件nitm.sql位于C:\ drive.此文件的大小约为103 MB.我正在使用wamp服务器.

我在MySQL控制台中使用了以下语法来导入文件:

mysql>c:/nitm.sql;
Run Code Online (Sandbox Code Playgroud)

但这没效果.

d-_*_*_-b 401

从mysql控制台:

MySQL的> use DATABASE_NAME;

MySQL的> source path/to/file.sql;


如果你指的是相对路径,请确保路径前没有斜线...我花了一段时间才意识到这一点!大声笑

  • 如果您正在进行相对引用,则不需要在路径前使用斜杠.如果您将从根目录开始,即`/ home/user/file.sql` (36认同)
  • 可惜没有办法为收藏夹添加答案:( (5认同)
  • 在Chrome中,它们被称为书签,您只需点击地址栏中的星号;) (4认同)
  • @ArseniuszŁozicki添加问题,你将能够达成答案:)这就是我所做的. (2认同)
  • 只是添加到这个答案,`path/to/file.sql`是mysql*client*所在的本地文件系统路径.有时MySQL服务器期望路径在服务器端,IE`SELECT ... INTO OUTFILE`将文件放入MySQL服务器上的路径! (2认同)

kus*_*shi 90

最后,我解决了这个问题.我将`nitm.sql`文件放在`mysql`文件夹的`bin`文件中,并使用以下语法.

C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql
Run Code Online (Sandbox Code Playgroud)

这很有效.

  • 这不是来自OS问的mysql控制台,而是从控制台进入mysql.Robert Anthony Tribiana的答案确实描述了如何从mysql控制台进行操作. (8认同)
  • 你们知道这是OP的回答吗? (4认同)

小智 52

如果你正在使用wamp,你可以试试这个.只需use your_Database_name先输入.

  1. 单击您的wamp服务器图标,然后查找MYSQL > MSQL Console然后运行它.

  2. 如果您没有密码,只需按Enter键并输入:

    mysql> use database_name;
    mysql> source location_of_your_file;
    
    Run Code Online (Sandbox Code Playgroud)

    如果您有密码,您将输入密码.先输入密码然后输入:

    mysql> use database_name;
    mysql> source location_of_your_file;
    
    Run Code Online (Sandbox Code Playgroud)

location_of_your_file 应该是这样的 C:\mydb.sql

所以推荐是mysql> source C:\ mydb.sql;

这种导入sql转储对BIG SQL FILE非常有帮助.

我将我的文件复制mydb.sq到目录.C:它应该是大写C:为了运行

就是这样.


小智 24

在Windows中,如果上面的建议给你一个错误(文件未找到或未知数据库),你可能想要加倍正斜杠:

在mysql控制台中:

mysql> use DATABASE_NAME;

mysql> source C://path//to//file.sql;
Run Code Online (Sandbox Code Playgroud)


pet*_*erb 17

好吧,我正在使用Linux,但我认为这也适用于Windows.您可以直接从命令提示符执行此操作

> mysql -u <user name> -p<password> <database name> < sqlfilename.sql
Run Code Online (Sandbox Code Playgroud)

或者从mysql提示符中,您可以使用:

mysql>source sqlfilename.sql
Run Code Online (Sandbox Code Playgroud)

但是这两种方法在它们显示的结果中都有其自身的优点.在第一种方法中,脚本在遇到错误时立即退出.更好的是,它会告诉您源文件中发生错误的确切行号.但是,它只显示错误.如果没有遇到任何错误,脚本将显示NOTHING.哪个可能有点令人不安.因为您经常使用一堆命令运行脚本.

现在,第二种方法(来自mysql提示符)的好处是它会在脚本中为每个不同的MySQL命令显示一条消息.如果遇到错误,它会显示mysql错误消息,但会继续执行脚本.这可能很好,因为您可以在再次运行脚本之前返回并修复所有错误.缺点是它不会在遇到错误的脚本中显示行号.这可能有点痛苦.但错误消息是描述性的,因此您可以找出问题所在.

例如,我更喜欢直接来自OS命令行的方法.


Nan*_*mar 9

如果你使用的是xampp

C:\xampp\mysql\bin\mysql -uroot -p nitm < nitm.sql
Run Code Online (Sandbox Code Playgroud)


Lmw*_*ngi 7

你差不多用了

mysql> \. c:/nitm.sql;
Run Code Online (Sandbox Code Playgroud)

您也可以访问帮助

mysql> \?
Run Code Online (Sandbox Code Playgroud)


Adr*_* P. 6

对于XAMPP上的localhost.打开cmd窗口并键入

cd C:\xampp\mysql\bin
mysql.exe -u root -p
Run Code Online (Sandbox Code Playgroud)

注意!-p后没有分号 输入您的密码并键入

use database_name;
Run Code Online (Sandbox Code Playgroud)

选择您需要的数据库.

检查你的桌子是否在那里

show tables;
Run Code Online (Sandbox Code Playgroud)

从您的sql文件导入

source sqlfile.sql;
Run Code Online (Sandbox Code Playgroud)

我把我的文件放在C:\ xampp\mysql\bin位置,以免混淆sql文件的位置.


Aks*_*ani 6

尝试:

mysql -u username -p database_name < file.sql
Run Code Online (Sandbox Code Playgroud)

检查MySQL 选项

注意:最好使用 SQL 文件的完整路径file.sql