如何使用命令行将单个表导入mysql数据库


Answers:


316

Linux:

在命令行中

 mysql -u username -p  databasename  < path/example.sql

将表格放在example.sql中

导入/导出单个表:

  1. 导出表架构

    mysqldump -u username -p databasename tableName > path/example.sql

    这将创建一个example.sql在上述路径处命名的文件,并编写create tablesql命令创建table tableName

  2. 将数据导入表

    mysql -u username -p databasename < path/example.sql

    此命令需要一个sql文件,其中包含insert以table语句形式的数据tableName。所有insert语句将被执行,数据将被加载。


2
-u被错过了;)mysqldump -u用户名-p数据库名tableName> path / example.sql
Kazmin 2014年

2
对于导入,您不需要使用mysql dump。mysql -u username -p databasename tableName <path / example.sql它应该做您的工作
Prabhakar Undurthi 2015年

8
tableName并非所有MySQL版本都需要该名称,并且会产生错误,因此您可能需要忽略它!
mchar

1
我遇到语法错误,直到我意识到执行时不是bash而不是mysql。
Christia

2
仅当我有权访问可以从中导出特定表的数据库时,这才起作用。但是,如果我对数据库有完整的转储,并且想要挑选要导入的表,则此解决方案将不起作用。链接的帖子我可以从完整的mysql mysqldump文件还原单个表吗?解决了这个问题。
codeforester

34

出口:

mysqldump --user=root databasename > whole.database.sql
mysqldump --user=root databasename onlySingleTableName > single.table.sql

导入

整个数据库

mysql --user=root wholedatabase < whole.database.sql

mysql --user=root databasename < single.table.sql


12

导入单个表

要将单个表导入现有数据库,请使用以下命令:

mysql -u username -p -D database_name < tableName.sql

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


5

命令行

导入/导出单个表:

导出表架构

 -> mysqldump -u your_user_name -p your_database_name table_name > test.sql

这将创建一个名为test.sql的文件,并创建table sql命令以创建表table_name。

将数据导入表

 -> mysql -u your_user_name -p database_name table_name < test.sql

确保您的test.sql文件在同一目录中,如果没有通过路径导航,然后运行命令。


3
您不需要在命令行中指定表名,因为导出的SQL文件具有创建表的相关调用。您所需要的就是mysql -u your_user_name -p database_name < test.sql
迈克尔·德席尔瓦

1
这是一个导出表的示例,`22 DROP TABLE IF EXISTS account_product_prices; 23 / *!40101 SET @saved_cs_client = @@ character_set_client /; 24 /!40101 SET character_set_client = utf8 * /; 25 CREATE TABLE account_product_prices(`
Michael De Silva'Apr

5

首先,登录到数据库并检查您要导入的数据库表是否在数据库上不可用。

如果可用,请使用命令删除表。否则,导入表时将引发错误。

DROP TABLE Table_Name;

然后,移至要.sql导入文件的文件夹,并从终端运行以下命令

mysql -u username -p  databasename  < yourtable.sql

终端将要求您输入密码。输入它并检查数据库。


4

它正常工作...

C:\>mysql>bin>mysql -u USERNAME DB_NAME < tableNameFile.sql

请注意.sql文件指定了您当前的数据库。


2

我们可以使用CMD导入单个表,如下所示:

D:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h hostname -u username -p passowrd databasename < filepath

2

如果您的数据库上已经有所需的表,请先将其删除,然后运行以下命令:

 mysql -u username -p  databasename  < yourtable.sql

2

从服务器到本地(导出)

mysqldump -u username -p db_name table_name > path/filename.sql;
mysqldump -u root -p remotelab welcome_ulink > 
/home_local/ladmin/kakalwar/base/welcome_ulink.sql;

从本地到服务器(导入)

mysql -u username -p -D databasename < path/x/y/z/welcome_queue.sql
mysql -u root -p -D remotelab < 
/home_local/ladmin/kakalwar/instant_status/db_04_12/welcome_queue.sql

2
对于初学者,请注意,您必须在命中命令后从终端而不是mysql内部进行操作,它将要求输入密码
db_password

2

也是它的工作。以命令形式

cd C:\wamp\bin\mysql\mysql5.5.8\bin //hit enter
mysql -u -p databasename //-u=root,-p=blank

2
  • 这将是EXPORT INTO OUTFILE和的组合LOAD DATA INFILE

  • 您需要使用导出单个表EXPORT INTO OUTFILE,这会将表数据导出到文件中。您可以使用LOAD DATA INFILE

  • 请参考doc1doc2


1

您可以在mysql命令而不是linux命令中执行此操作。
1.登录你的mysql
2.在mysql命令中执行此命令:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;


1
mysql -u root -p -D dbname < tablename.sql

1
尽管此代码段是受欢迎的,并且可能会提供一些帮助,但是如果它包含有关如何以及为什么可以解决此问题的说明,则可以大大改善。请记住,您将来会为读者回答问题,而不仅仅是现在问的人!请编辑您的答案以添加说明,并指出适用的限制和假设。
Toby Speight


0

根据数据库的大小,使用临时数据库可能是一种解决方案。

mysql -u [username] -p -e "create database tempdb"
mysql -u [username] -p tempdb < db.sql
mysqldump -u [username] -p tempdb _table_to_import_ > table_to_import.sql
mysql -u [username] -p maindb < table_to_import.sql

0

要将表导入数据库(如果表已存在),则将此行添加到sql文件中,DROP TABLE IF EXIST 'table_name'然后运行command mysql -u username -p database_name < import_sql_file.sql。在执行命令之前,请验证sql文件路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.